Sqlite3与php,如何创建表和插入


Sqlite3 with php, how to create table and insert?

我正在尝试将sqlite3与php一起使用,并从互联网上复制一些代码,看看它是如何工作的。。。嗯,我有个问题,不知道怎么解决。。。。

<?php
$db = new SQLite3($_REQUEST['dbname']);
if(!$db){
    echo $db->lastErrorMsg();
}
else{
    echo 'Database created!';
    $sql =<<<EOF
            CREATE TABLE COMPANY
            (ID INT PRIMARY KEY     NOT NULL,
            NAME           TEXT    NOT NULL,
            AGE            INT     NOT NULL,
            ADDRESS        CHAR(50),
            SALARY         REAL);
            EOF;
    $ret = $db->exec($sql);
    if(!$ret){
        echo $db->lastErrorMsg();
    } else {
        echo "Table created successfully'n";
    }
    $db->close();
}
?>

如果我从我的"else"中删除代码,它将在我的目录中创建文件!但除此之外,我无法创造任何东西!那个代码有什么问题?

附言:我正在将php与一个HTML页面交互,该页面确实有<表单>!

您需要heredoc的结束标识符EOF;必须位于该行的开头,否则PHP将无法识别它,并将文件的其余部分添加到字符串中。

echo 'Database created!';
$sql =<<<EOF
        CREATE TABLE COMPANY
        (ID INT PRIMARY KEY     NOT NULL,
        NAME           TEXT    NOT NULL,
        AGE            INT     NOT NULL,
        ADDRESS        CHAR(50),
        SALARY         REAL);
EOF; // <-- move to the beginning of the line