2013-06-17 5 views
-2

데이터베이스에 양식 값을 삽입하려하지만 데이터가 mysql에 들어 가지 않습니다. 내가 ... 시간을 많이 소비하지만 그것을 확인할 수 없습니다이 내 코드입니다 :데이터가 mysql에 삽입되지 않는다

$query = "insert into $tabl (userid, username, question, board, class, subject, article, status, uniq_id,date,activation ) values('$userid', '$username', '$question', '$board', '$class', '$subject', '$article', 'unread', '$uniq',CURDATE(), '0')"; 
$row = mysql_query($query); 

if($row) 
{ 
    header("location:ask-questions.php?msg=saved"); 
} 
else 
{ 
    header("location:ask-questions.php?msg=not been saved"); 
} 
////////// (1)End of the Code ///////////// 
?> 

모든 것을 확인하고, 내가 echo $sql,이 또한 잘 작동 ... 어떤 도움이 감사 할 것 ...

+0

'$ row = mysql_query ($ query) or die (mysql_error());'또한 http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-을 확인하십시오. php 왜 mysql을 사용하면 안되는가 –

+0

값 중 하나가 쿼리를 실패하게 할 수있는 작은 따옴표'''를 포함 할 수 있습니다. – DevZer0

+0

을 삽입하기 전에 mysql_real_escape_string ($ val)을 사용하십시오. downvote ..................? – Tracy

답변

2

datemysql에 예약어입니다. 열 이름으로 사용될 때 해당 예약어 주위에 역주로 `을 사용하십시오.

$query = "insert into $tabl (userid, username, question, 
board, class, subject, article, status, uniq_id, `date`,activation ) 
values('$userid', '$username', '$question', '$board', '$class', '$subject', '$article', 'unread', '$uniq',CURDATE(), '0')"; 

$row = mysql_query($query) OR die(mysql_error()); 

mysql_* 기능 사용도 중지되며 더 이상 사용되지 않습니다. mysqli 또는 PDO을 시작하십시오.

+0

사실,'date'는 MySQL에서 예약어가 아닙니다. 많은 사람들이'date'를 필드 이름으로 사용했기 때문에 개발자들은 그것을 예약어로 삭제했습니다. http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html – MrCode

+0

okkk,하지만 여전히 데이터베이스에 삽입하지 않고 $ sql 데이터를 전달하지만 테이블에 들어 가지 않는 데이터는 알지 못합니다 – Tracy

+0

@ Tracy는 오류 검사를 위해'$ row = mysql_query ($ query) OR die (mysql_error());'를 사용했다. '$ tabl'은 어디에서나 정의되어 있습니다. –

관련 문제