Я хочу прочитать строку запроса из URL-адреса и сохранить их в базе данных 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);
Как упоминалось @HassanAhmed , это то, что происходит, когда входы неправильно обрабатываются; вы видите ту же проблему, как если бы кто-то использовал SQL-инъекцию против вас. Быстрое исправление заключается в том, чтобы обернуть поля в кавычки:
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();