2013-06-05 4 views
0

안녕하세요 저는이 스크립트에 위의 문제가 있습니다 ... 문제가 있지만 반환 오류 .. 그것은 데이터베이스를 올바르게 변경하지만 오류를 반환합니다 ... 나는 어딘가에 실수가 있습니까? 성공적으로 문자열을하지 실행하는 경우PHP MySql 알 수없는 오류

$result = mysql_query(
    "INSERT INTO student (fullname, username, password, group_id) 
    VALUES ('$fullname', '$username', '$password', '$group_id')" 
); 

if ($result == 'true'){ 

    $caturi = $group_id; 
    if (isset($_POST['subject'])) { 

     foreach ($_POST['subject'] as $cat) { 
      $values[] = sprintf (
       "(%d, '%s')", 
       intval($cat), 
       mysql_real_escape_string($caturi) 
      ); 
     } 
     $result2 = "INSERT INTO list (subject_a, group_a) 
        VALUES " . join(',', $values); 
     mysql_query($result2); 

    } 

    echo '<p align="center" style="color:#ccc;">Success...</p>'; 
} 
else{ 
    echo "Error..."; 
} 
+1

,''에코 "오류로합니다. .. ". mysql_error();'. 그러면 오류에 대한 정보가 표시됩니다. –

+0

당신이'에코 "오류 ..."변경 될 수 있습니다하세요'mysql_error를을 사용하여이 있는지 시도해야 – n00dle

답변

4

mysql_query() 부울 true을 반환합니다.

따라서 당신은

if ($result == true) 이하로

if ($result == 'true')

을 변경해야합니다 - 그들은 PHP 5.5로 사용되지 않습니다 때문에 if ($result)


, mysql_* 기능을 사용하지 마십시오. 0.

사용 PDO 또는 MYSQLi 대신

당신은 당신이 실제로 MySQL은()`
+0

첫 번째 수정은'true'를 따옴표로 묶어서는 안됩니다 (이 텍스트는 첨부 된 텍스트가있는 것으로 생각됩니다). – n00dle

+0

예, 고마워요. @ n00dle, 대답을 고쳤습니다. – Nikola

+0

+1. deprecated 함수의 사용법에 대한 코멘트를 주시면 다시 +1하겠습니다! – n00dle