当我尝试插入Cat和Purr时,此代码会给我一个错误。教程没有双引号,但他们的代码也不起作用。这一定是某种语法问题
message('creating the db Object');
$db = new bwSQLite3(DB_FILENAME, TABLE_NAME);
$tn = TABLE_NAME;
message('creating the table');
$db->sql_do("Drop table if exists $tn");
$db->sql_do("create table $tn ( id integer primary key, animal text, sound text )");
//insert some records
$db->sql_do("insert into $tn (animal, sound) values (?, ?), 'cat', 'Purr' "); //right here issues
$db->sql_do("insert into $tn (animal, sound) values (?, ?), 'dog', 'Woof' ");
$db->sql_do("insert into $tn (animal, sound) values (?, ?), 'duck', 'Quack' ");
$db->sql_do("insert into $tn (animal, sound) values (?, ?), 'bear', 'Grr' ");
message('there are %d rows in the table', $db->count_recs());
}catch (PDOException $e) {
error($e->getMessage());
}
以下是错误:分析错误:语法错误,C:''examplep''htdocs''ExerciseFiles''Chap01''create.php中第42行出现意外的"insert"(T_STRING)
$db->sql_do("insert into $tn (animal, sound) values (?, ?), 'cat', 'Purr' "); //right here issues
应该是
$db->sql_do("insert into $tn (animal, sound) values (?, ?)", 'cat', 'Purr');
看语法高亮显示。
另外,听起来你不明白PHP是如何处理字符串的,试着看看区别:
$my_name = 'Matt';
echo 'Hello $my_name.';
echo "Hello $my_name.";