0

我知道这非常容易,但我是一个菜鸟,不确定我在这里做错了什么:

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: }

我在第 6 行收到Fatal error: Call to undefined method mysqli_stmt::fetch_array()错误消息。

4

2 回答 2

2

mysqli_stmt::get_result()如果您有 PHP 5.3 或更高版本,则可以使用,然后使用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()

于 2012-10-21T22:32:58.733 回答
0

好的,在重新组合并尝试完全不同的代码之后(因为 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;
}

感谢大家的帮助。

于 2012-10-27T15:11:06.740 回答