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

时间:2017-04-13 14:27:46

标签: php html forms sqlite

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

  

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

这是我的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();

1 个答案:

答案 0 :(得分:-1)

刚刚意识到问题所在。在$ sql值中,我忘了将变量放在单引号中,如VALUES(&#39; $ varFullName&#39;,&#39; $ varService&#39;,CURRENT_TIME);