【发布时间】:2020-06-03 05:49:42
【问题描述】:
我一直在尝试让我的 PHP 代码将数据插入到我的 sqlite3 数据库中。我已经阅读了将 sqlite3 与 PHP 一起使用的文档,并尝试仔细遵循它。下面是关于如何在 PHP 中为 sqlite3 进行插入查询的具体语法:https://www.php.net/manual/en/sqlite3.exec.php
这是我尝试执行的一些插入代码。查询中的每个变量值都是从 html 表单中收集的。
$db->exec("
INSERT INTO BOOK(Title,Author,Genre,ISBN_number,Age_rating,Language,Book_review,Price)
VALUES (
'$Btitle', '$BAuthor', '$BGenre', '$BISBN', '$age', '$lan', '$bookRev', '$pr')
");
此代码不会引发任何错误。但是,当我通过 PHP 进行选择查询以显示书籍时,这行代码的条目不在表中。
【问题讨论】:
-
最好使用参数化语句来防止SQL注入问题。
-
@Zhorov 很好。但是,即使我将插入查询保存到变量中,然后在绑定参数时执行准备和执行语句(这也是使用 sqlite3 和 php 时可用的选项),它仍然没有出现在表格上。跨度>
-
那么,可能是写权限(SQLite3在执行查询时可能需要创建临时文件,因此各个目录可能必须是可写的。)问题?
echo $db->lastErrorMsg();在SQLite3::prepare、SQLite3Stmt::execute调用后返回什么?