簡體   English   中英

如何將PHP查詢結果導入數組?

[英]How do I get a PHP query result into an array?

我知道這很容易,但我是一個菜鳥,不知道我在這里做錯了什么:

1: $mysqli = new mysqli('test', 'test', 'test', 'test');
2: if ($stmt = $mysqli->prepare($query)) {
3:     if (!$stmt->execute()) {
4:        $out .= "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
5:    }
6:    $out = $stmt->fetch_array();
7: } else {
8:   $out .= $mysqli->error;
9: }

我收到Fatal error: Call to undefined method mysqli_stmt::fetch_array()在第6行Fatal error: Call to undefined method mysqli_stmt::fetch_array()錯誤。

如果你有PHP 5.3或更高版本,你可以使用mysqli_stmt::get_result() ,然后使用mysql_result::fetch_array()

$mysqli = new mysqli('test', 'test', 'test', 'test');
if ($stmt = $mysqli->prepare($query)) {
    if (!$stmt->execute()) {
        $out .= "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
    }
    $res = $stmt->get_result();
    while ($out = $res->fetch_array()) {
    }
else {
    $out .= $mysqli->error;
}

此外,您可能想要查看所有MySQL-Improved文檔

您還可以使用mysqli_result::fetch_all()一次獲取所有行。

好吧,在重新組合並嘗試完全不同的代碼之后(因為fetch只是不起作用,不知道為什么)我能夠使用這個來完成我的查詢功能:

function run_query($query)
{    
  $out = '';
  $db = new PDO("mysql:host=test;dbname=test","test","test");
  $out = $db->query("$query")->fetchAll(PDO::FETCH_OBJ);
  return $out;
}

感謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM