0
我目前正在轉換這段代碼從MySQL到PDO做什麼錯誤:想不通,我在準備好的聲明
$catquery = mysql_query("SELECT category, longdescription, locked,
catid, parentcatid, leveldown
FROM ".$tableprefix."fanfiction_categories
WHERE catid = '$catid'")
or die(_FATALERROR."Query: SELECT category, locked, catid, parentcatid, leveldown FROM ".$tableprefix."fanfiction_categories WHERE catid = '$catid'<br />Error: (".mysql_errno().") ".mysql_error());
$category = mysql_fetch_array($catquery);
我是新來的PDO,但一直在努力學習我能做什麼。這是我在PDO中想到的:
$db = new PDO('mysql:host='.$db_host.'; dbname='.$db_name, $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$catquery = $db->prepare("SELECT category, longdescription, locked, catid,
parentcatid, leveldown
FROM ".$tableprefix."fanfiction_categories
WHERE catid=:catid");
$stmt -> bindPARAM (':catid', $catid, PDO::PARAM_STR);
try {
$stmt->execute();
echo "Sucess";
} catch (PDOException $e) {
echo $e->getMessage();
}
即使嘗試了很多形式,我仍無法獲得正確的bindPARAM部分。有我忽略的東西嗎?關於PDO,我有點困惑,所以如果有人能指出我在哪裏出錯,這將是很好的。
1)也許並不重要,但功能'bindParam' 2)'$ catquery'是Statement對象(從準備)不是'$ stmt'這看起來不存在。 –
也看起來像你可能錯過'.' from'「。$ tableprefix。」fanfiction_categories' @在表前綴和表之間 – RamRaider
如果你的PHP錯誤報告正確設置,你不必在這裏問這個問題。請參閱正確設置的鏈接答案。 –