目前共有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-2025 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。