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

Sqlite3与php,如何创建表和插入?,php,html,sqlite,Php,Html,Sqlite,我正在尝试将sqlite3与php结合使用,我正在从internet复制一些代码,以了解它是如何工作的。。。 嗯,我有个问题,不知道怎么解决 <?php $db = new SQLite3($_REQUEST['dbname']); if(!$db){ echo $db->lastErrorMsg(); } else{ echo 'Database created!'; $sql =<<<EOF CREATE TAB

我正在尝试将sqlite3与php结合使用,我正在从internet复制一些代码,以了解它是如何工作的。。。 嗯,我有个问题,不知道怎么解决

<?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”中删除代码,它将在我的目录中创建文件!但是有了这些,我就不能创造任何东西! 那代码有什么问题

另外:我正在用一个HTML页面与php交互,这个页面有一个

您正在关闭标识符
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
echo“已创建数据库!”;

$sql=PHP手册中关于herdoc语法的注释:
结束标识符必须从行的第一列开始。
移动
EOF到行首。否则PHP将不会将其识别为的结束标识符,PHP将使用脚本的其余部分作为字符串。这太愚蠢了--但它成功了!!!丹克什恩!!:)我把它作为答案贴了出来,这样你就可以接受了。