2013-09-21 2 views
-1

что случилось с моим кодом? Я уверен, что $_POST['item'] имеет действительное значениеphp mysqli synax error

<?php 

$data = $_POST['item']; 

$conn = mysqli_connect("localhost","root",""); 
mysqli_select_db($conn, "ajaxexample"); 

$q = INSERT INTO user (userList) VALUES ('$data'); 
if(mysqli_query($conn, $q)){ 

echo 1; 

} 

?> 
+0

вы посмотрите, как вы отсутствуют некоторые цитаты. Вместо того, чтобы «быть уверенным», почему бы не просто отбросить значение $ data и проверить. –

+1

использовать 'mysqli_real_escape_string ($ _POST ['item'])' для безопасности –

+0

показать название и структуру таблицы –

ответ

2

положить INSERT INTO user (userList) VALUES ('$data'); в двойных кавычках.

например:

$q = "INSERT INTO user (userList) VALUES ('$data')"; 
+0

тоже не работает –

+0

вы можете упомянуть ошибка, пожалуйста? –

+0

это моя db таблица детали: http://i.imgur.com/7L4IEDx.png –

1

PHP строковые литералы должны быть в кавычках.

Чтобы это исправить, изменив только одну строку:

$q = "INSERT INTO user (userList) VALUES ('" . mysqli_real_escape_string($data . "')"; 
0
<?php 

$data = $_POST['item']; 

$conn = mysqli_connect("localhost","root","", "ajaxexample"); 

$q = INSERT INTO user (userList) VALUES ('$data'); 
if(mysqli_query($conn, $q)){ 

echo 1; 

} 

?> 

Not mysqli_select_db 
+0

http://www.w3schools.com/php/func_mysqli_select_db.asp –