執行我正在創建一個使用PHP5/SQLite3的博客應用程序。要在數據庫中插入帖子,我正在執行下面所寫的查詢。PDO:插入查詢包含'不在SQLite3中使用PHP 5.3.4與
$db=connectToDatabase();
$tempcontent=$db->escapeString($tempcontent);
$query = "INSERT INTO posts VALUES (null,$temptitle, $tempcontent, $tempcategory, $tempauthor)";
$db->query($query);
$db=disconnectToDatabase();
我有問題,當文本輸入含有「或「時,有」,是沒有得到執行查詢的。如果'是不是有那麼‘顯示在逃逸(\’)在。瀏覽器 對不起,我忘了提: connectTodatabase()功能是提供連接到數據庫非常普遍的方式爲:
try {
$db1 = new PDO("sqlite:blog.db");
}catch(PDOException $exception){
die($exception->getMessage());
}
return $db1;
您使用的是一些自定義的DB類。你怎麼能期望我們知道這個班正在做什麼?但是它可能做錯了事 - 只是因爲你在查詢中傳遞參數而不是分開。 – ThiefMaster 2011-04-07 07:22:43
connectTodatabase()函數提供了非常一般的連接數據庫的方式。 as: 'code' try { \t $ db1 = new PDO(「sqlite:blog.db」); catch(PDOException $ exception){ \t die($ exception-> getMessage()); \t} \t return $ db1; 'code' – rtcoms 2011-04-07 07:29:53
'escapeString'是borked,表明(並且確實,贊成準備好的語句,而不是字符串構建/轉義)。 – Wrikken 2011-04-07 08:00:13