目前共有67篇帖子。
今天我來系統地學習一下PDO
41樓 巨大八爪鱼 2015-5-30 22:08
bindColumn將一個字段綁定到一個php變量中,也就是每次循環自動執行:
$suburb = $row["ItemSuburb"]
42樓 巨大八爪鱼 2015-5-30 22:12
$stmt->bindColumn("ItemSuburb", $suburb, PDO::PARAM_STR);
相當於$suburb = (string)$row["ItemSuburb"];
43樓 巨大八爪鱼 2015-5-30 22:21
回復:33樓
為了排查SQL的錯誤,可以使用errorInfo直接獲取MySQL輸出的錯誤信息,不用再把輸出的SQL語句複製到PMA中執行了。
比如:
$sql = "SELECT * AFROM WiFiHotSpots";
$dbh->query($sql);
$error = $dbh->errorInfo();
echo $error[2];
輸出:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AFROM WiFiHotSpots' at line 1

44樓 巨大八爪鱼 2015-5-30 22:22
回復:43樓
這樣我們就可以直接看出這個SQL語句中的AFROM出問題了
45樓 巨大八爪鱼 2015-5-30 22:25
bindParam用於給SQL語句中帶有冒號或問號的佔位符賦值。
http://php.net/manual/en/pdostatement.bindparam.php
46樓 巨大八爪鱼 2015-5-30 22:27
方法 bindParam() 和 bindValue() 非常相似。
 唯一的區別就是前者使用一個PHP變量綁定參數,而後者使用一個值。
所以使用bindParam是第二個參數隻能用變量名,而不能用變量值,而bindValue至可以使用具體值。
http://www.360doc.com/content/12/0703/16/10337467_222033042.shtml
47樓 張樹人 2015-5-30 22:29

回復:46樓

所以對於一些固定的值,可以用bindValue

48樓 巨大八爪鱼 2015-5-30 22:29
fetch();和mysql_fetch_array();一樣
但fetchAll();返回一個二維數組,可以獲取所有行。
49樓 巨大八爪鱼 2015-5-30 22:31
以後要排查sql的錯誤直接用errorInfo,不要再把SQL語句複製到PMA里執行了。而且也沒有辦法獲得最終的SQL語句。
50樓 張樹人 2015-5-30 23:00

回復:47樓

這樣和直接將value填在SQL字元串中相比,更容易分別value和SQL語句

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。