2013-11-09 3 views
-1

Здесь $user - ассоциативный массив, как его использовать в запросе mysql? Что такое синтаксическая ошибка здесь?ошибка в sql-синтаксисе в запросе вставки

$sql= 'INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES($user["username"], $user["password"], $user["contact_no"], $user["pan"]'; 
+0

Какого языку программирования является то, что? –

+0

@a_horse_with_no_name: PHP. Который можно четко сказать из OP-кода. –

+0

Используйте MySQLi или PDO с подготовленными инструкциями, и тогда вам не нужно беспокоиться об этом - и это будет означать, что вы больше не используете устаревшую библиотеку –

ответ

0

Надеется, что это помогает,

$sql= 'INSERT INTO users (username,password,contact_no,Pan_card_no) VALUES("'.$user['username'].'", "'.$user['password'].'", "'.$user["contact_no"].'", "'.$user["pan"].'")'; 
0

Попробуйте

$sql= "INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES('".$user["username"]."', '".$user["password"]."', '".$user["contact_no"]."', '".$user["pan"]."')"; 

Вы не закрыл скобку ")"

0

При определении строки на PHP, используя одинарные кавычки ('), то $ -notation от переменных не интерпретировано. Таким образом, итоговый оператор sql содержит символы $. Это недопустимо sql.

Вместо создать заявление, как это:

sprintf('INSERT INTO users(username,password,contact_no,Pan_card_no) VALUES(%s,%s,%s,%s)', 
     $user['username'], $user['password'], $user['contact_no'], $user['pan']); 

Обратите внимание, однако, что это пахнет SQL инъекций. Вместо этого вы должны использовать подготовленные инструкции для лучшей безопасности. Используйте PDO или расширения mysqli для PHP.

+0

теперь его предоставление Ошибка анализа: ошибка синтаксиса, неожиданный T_ENCAPSED_AND_WHITESPACE, ожидающий T_STRING или T_VARIABLE или T_NUM_STRING – user2971863

+0

Правильная команда, вы должны были сделать копию и вставить ошибку. – arkascha

Смежные вопросы