我正在尝试将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