2017-04-13 187 views
0

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

警告:sqlite3的:: EXEC():近 “jghjhgfjhgf”:在电子商务语法错误:\ Programy \ XAMPP \ htdocs中\ QueueAppLocal上线\ process.php 31 近 “jghjhgfjhgf”:语法错误

这是试图插入表格的细节到表

<?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(); 
+0

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

回答

-1

刚刚意识到的问题是什么我process.php文件。在$ sql值中,我忘记将变量放在单引号中,就像VALUES('$ varFullName','$ varService',CURRENT_TIME);