2013-09-30 3 views
0

Это правильно? не хранить в базе данныхВставка данных в базу данных post php Это правильно?

recipe = $_POST['recipe']; 

$catname = $_POST['catname']; 

$procedure = $_POST['procedure']; 

mysqli_query($con,"INSERT INTO `recipe` (`catname`, `recname`, `procedure`) VALUES (' ". $catname ." ', ' ". $recipe ." ', ' " . $procedure ." ')"); 
+0

var_dump ($ _ POST) и посмотреть, получаете ли вы данные в php – Rajesh

+1

Нет. Это неверно. Вы уязвимы для [SQL-инъекций] (http://bobby-tables.com). –

+1

@ Шимон Рахленко О вашем редактировании. Кому мы должны знать, действительно ли это на самом деле OP для кода? Вы добавили '' 'перед' recipe' в 'recipe = $ _POST ['recipe'];' и кто-то (Marcel) дал ответ об этом. Изменения не являются «исправлениями» в коде. –

ответ

1

Вы пропустили знак доллара в начале этой строки:

recipe = $_POST['recipe']; 

Это должно быть

$recipe = $_POST['recipe']; 

Вы должны либо дезинфицировать ваш входные параметры или использовать подготовленные операторы, потому что ваш код уязвим для SQL-инъекции.

Кроме того, включить отчеты об ошибках, добавив следующую строку в начале вашего скрипта:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 

Таким образом, вы видите любые ошибки PHP выплевывает, потому что прямо сейчас, я думаю, они замолчали.

+0

Что не так с этим парнем продолжает редактировать мой вопрос, у меня есть знак $ там раньше. –

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