0
如何從mysql查詢中選擇一行並將其保存到使用PDO的變量?以前我做了這樣的從mysql查詢中選擇行並將其保存到變量
$row = mysql_fetch_array($result);
$ID = $row['ID'];
現在我從PHP手冊閱讀PDOStatement::fetch()
是替代mysql_fetch_array
,但我無法弄清楚如何使用它。這是我試過,但很明顯,如果你使用PDO::FETCH_OBJ
它不工作
<?php
include 'config.php';
$sql = "select * from table1";
try {
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $dbh->query($sql);
$result = $stmt->fetchAll(PDO::FETCH_OBJ);
$dbh = null;
echo '{"items":'. json_encode($result) .'}';
} catch(PDOException $e) {
echo '{"error":{"text":'. $e->getMessage() .'}}';
}
$row = $stmt->fetchAll(PDO::FETCH_OBJ);
$ID = $row['ID'];
?>
當我嘗試回聲$ ID它給了我錯誤'未定義的變量:' – user1323294
@ user1323294,擺脫在'try'塊中的'$ result = $ stmt-> fetchAll(PDO :: FETCH_OBJ);'行。原因是因爲在'fetchAll()'之後你將無法訪問數據。 –
但如果我把'$ result = $ stmt-> fetchAll(PDO :: FETCH_OBJ);'它顯示爲'null'作爲'json_encode($ result)',對吧?你能否給我提供我的帖子中的代碼完整樣本。 – user1323294