【问题标题】:Unable to insert data into sqlite3 database using PHP无法使用 PHP 将数据插入 sqlite3 数据库
【发布时间】: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::prepareSQLite3Stmt::execute 调用后返回什么?

标签: php sqlite


【解决方案1】:

终于找到问题了。 html 中表单的提交标记的值是“提交”而不是“提交操作”。

【讨论】:

    猜你喜欢
    • 2012-12-24
    • 2021-10-25
    • 1970-01-01
    • 2021-08-05
    • 2019-08-11
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    相关资源
    最近更新 更多