mysqli_num_rows()期望参数1为mysqli_result

时间:2014-12-10 19:16:36

标签: php mysql mysqli

您好我正在尝试查看Selected查询的内容...但是会出现错误:

mysqli_num_rows()期望参数1为mysqli_result ...

      $stmt= $this->conn->prepare("SELECT * FROM table") or die(mysql_error());
        $result = $stmt->execute();


        // check for empty result
        if (mysqli_num_rows($result) > 0) {

    ..
    }

EDIT 新错误mysqli_fetch_array()期望参数1为mysqli_result,在...中给出的对象

    $stmt= $this->conn->prepare("SELECT * FROM table") or die(mysqli_error());

$stmt->execute();

        $stmt->store_result();

// check for empty result
if ($stmt->num_rows > 0) {
    // looping through all results

    $response["array"] = array();

    while ($row = mysqli_fetch_array($stmt)) { 

... }

我想我明白了:

    while ($row =  $stmt->fetchAll()) {
        // temp user array
        $array= array();
        $array["bla"] = $row["bla"];
... }

但我只得到" null"作为价值......?

修改

现在我明白了:

$ stmt-> bind_result($ column1,$ column2 ...)

然后

$ array [" bla"] = $ column1;  $ array [" bla2"] = $ column2;

但是没有可能bind_result所有colums而不是将每一个colins都放入变量? 或者不可能使用它:

$ array [" bla"] = $ row [" bla"];

所以它将行中的值与#34; bla"列放在一起。进入$ array [bla]?

因为我解决它的方式似乎很困难

1 个答案:

答案 0 :(得分:0)

正确

   $stmt= $this->conn->prepare("SELECT * FROM table") or die(mysql_error());
        $result = $stmt->execute();
        $result->store_result();

        // check for empty result
        if ($result->num_rows > 0) {

    ..
    }