[英]Pull data from MySQL into JSONArray (with PDO!)
我在Internet上讀過一些書,很多人說,建議從舊的mysql(和mysqli)擴展名切換到PDO。
我是這個PDO的新手,我從中學到了一些東西。 對於我的問題,我嘗試搜索stackoverflow,Google等,但並沒有幫助我。
原始腳本與mysqli:
$data = mysqli_query($con, "SELECT x1, x2, x3, x4 FROM Table1 WHERE x1 = $variable1");
$row = mysqli_fetch_row($data);
$result_data = array(
'data1' => $row[0],
'data2' => $row[1]
);
echo json_encode($result_data);
這段代碼輸出如下內容:
{"data1", 1, "data2", 2}
我嘗試使用此PDO代碼對其進行更改:
$STH = $DBH->prepare("SELECT x1, x2, x3, x4 FROM Table1 WHERE x1 = ?");
$STH->bindParam(1, $variable1);
$STH->execute();
$row = $STH->fetchAll();
$result_data = array(
'data1' => $row[0],
'data2' => $row[1],
);
echo json_encode($result_data);
這讓我有些奇怪
{"data1", 1, 2, 1, "data2", 1, "data2"}, data1 null, data2 null
它應該像原始的mysqli腳本一樣返回...
我嘗試了多種獲取模式,如assoc,num,column,這些都是在Internet上找到的,但是結果非常相似,並且我總是會收到此錯誤:
注意:未定義偏移:1 in
可能是什么問題,如何解決?
$STH = $DBH->prepare("SELECT x1 data1, x2 data2 FROM Table1 WHERE x1 = ?");
$STH->execute([$variable1]);
echo json_encode($STH->fetchAll(PDO::FETCH_ASSOC));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.