我正在尝试使用php的sqlite3,我正在从互联网上复制一些代码,看看它是如何工作的...... 好吧,我遇到了问题而且不知道如何解决它......
<?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”中的代码,它将在我的目录中创建该文件!但除此之外,我无法创造任何东西! 这段代码有什么问题?
P.S。 :我正在将php与HTML页面进行交互,该页面确实具有&lt;形式&gt; !
答案 0 :(得分:0)
您的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