2017-02-22 6 views
1

Я хочу, чтобы прочитать строку запроса из URL и сохранить их в базу данных SQLite я сталкиваюсь с этим сообщением об ошибке:вставки текста в SQLite, где текст есть "

PHP Warning: SQLite3::exec(): near ",": syntax error 

Но я не проблемы:

$Tel = $_REQUEST["from"]; 
$Content = $_REQUEST["text"]; 
echo $Tel = strip_tags($Tel); 
echo $Content = strip_tags($Content); 
    $sql =<<<EOF 

     INSERT INTO foodordering(Fullname, Tel, RecievingTime, Content) 
     VALUES ("Ehsan", $Tel, date('now'), $Content); 

EOF; 

    $ret = $db->exec($sql); 
+2

вы должны обеспечить ваши материалы, узнать больше о подготовлены операторы и/или вручную сбрасывают ваши входы – hassan

ответ

1

Как уже упоминалось, @HassanAhmed, это то, что происходит, когда входы неправильно обработаны; вы видите ту же проблему, как если бы кто-то использовал SQL injection против вас. Быстро исправить, чтобы обернуть поля в кавычки:

VALUES ("Ehsan", "$Tel", date('now'), "$Content"); 

То, что вы должны делать это связывание параметров:

$sql =<<<EOF 

INSERT INTO foodordering(Fullname, Tel, RecievingTime, Content) 
VALUES ("Ehsan", :tel, date('now'), :content); 

EOF; 

$stmt = $db->prepare($sql); 
$stmt->bindValue(':tel', $_REQUEST['from']); 
$stmt->bindValue(':content', $_REQUEST['text']); 

$ret = $stmt->execute(); 

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

  • Нет связанных вопросов^_^