Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQLite3::exec错误(将数据插入表)_Php_Html_Forms_Sqlite - Fatal编程技术网

Php SQLite3::exec错误(将数据插入表)

Php SQLite3::exec错误(将数据插入表),php,html,forms,sqlite,Php,Html,Forms,Sqlite,我创建了一个应用程序,它从表单中获取信息,并将详细信息放入名为“queue”的数据库表中。这些表由实体“位置”(主键,自动递增)、“名称”、“服务”和“队列数据”组成。 我在运行应用程序时遇到此SQLlite::exec错误 警告:SQLite3::exec():靠近“JGHJGFJHGF”:第31行E:\Programy\xampp\htdocs\QueueAppLocal\process.php中的语法错误 靠近“JGHJFJHGF”:语法错误 这是我的process.php文件,它试图将表

我创建了一个应用程序,它从表单中获取信息,并将详细信息放入名为“queue”的数据库表中。这些表由实体“位置”(主键,自动递增)、“名称”、“服务”和“队列数据”组成。 我在运行应用程序时遇到此SQLlite::exec错误

警告:SQLite3::exec():靠近“JGHJGFJHGF”:第31行E:\Programy\xampp\htdocs\QueueAppLocal\process.php中的语法错误 靠近“JGHJFJHGF”:语法错误

这是我的process.php文件,它试图将表单详细信息插入表中

<?php
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('queue.db');
    }
}
$db = new MyDB();
if(!$db){
    echo $db->lastErrorMsg();
} else {
    echo "Opened database successfully\n";
}

if(isset($_POST['formSubmit'])) {

    $varFirstName = $_POST['formFirstName'];
    $varLastName = $_POST['formLastName'];
    $varTitle = $_POST['formTitle'];
    $varService = $_POST['formServices'];

    $varFullName = $varTitle . " " . $varFirstName . " " . $varLastName;
}

    $sql =<<<EOF
          INSERT INTO queue (Name,Service,QueuedAt)
          VALUES ($varFullName, $varService, CURRENT_TIME);
EOF;

$ret = $db->exec($sql);
if(!$ret){
  echo $db->lastErrorMsg();
} else {
  echo "Records created successfully\n";
}
$db->close();

刚刚意识到问题所在。在$sql值中,我忘了将变量放在单引号中,比如so值(“$varFullName”,“$varService”,CURRENT_TIME)

不要对查询使用字符串操作!它们是一种安全风险!查看如何使用您的语言进行“参数化查询”。