【发布时间】:2014-10-20 22:26:43
【问题描述】:
我正在尝试转换为使用 PDO,但似乎无法从我的 PDO while 循环中获得结果。
这个mysql语句给了我结果:
$q = mysql_query("SELECT * FROM artist ORDER BY artist ASC");
while ($row = mysql_fetch_array($q)) {
$theartist .= '<option value="'.($row['artist_id']).'">'.($row['artist'])."</option>";
}
PDO 数据库连接(似乎可以工作)
//the below isn't throwing any errors
$host='localhost';
$dbname='james_test';
$user='test';
$pass='testpass';
try {
# MySQL with PDO_MYSQL
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
这个 PDO 语句没有给我任何结果:
$query = $DBH->prepare("SELECT * FROM artist ORDER BY artist ASC");
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
$theartist .= '<option value="'.($row['artist_id']).'">'.($row['artist'])."</option>";
}
【问题讨论】:
-
连接打开后立即添加
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);。您还需要execute()。在进入驾驶座之前,请务必阅读手册php.net/manual/en/pdo.prepare.php。