我们不能将$ result作为变量在php中调用

时间:2015-05-12 07:57:10

标签: php mysql

我在我的PHP代码中查询

$dbc = mysqli_connect('localhost', 'root','', 'delivery')
            or die('Error connecting to MySQL server.');

        $count = "SELECT MAX(id_pelanggan) FROM pelanggan";

        $result = mysqli_query($dbc, $count)
            or die('Error select query');

        if (empty($result)) {
            $id_pelanggan = 1;
        }
        else {
            $id_pelanggan = $result + 1;
        }

,结果是

  

类mysqli_result的对象无法在C:\ xampp \ htdocs \ delivery \ addcustomer.php中转换为int

而在mysql中,id_pelanggan数据类型为int。 任何人都可以帮助我使它有效吗?

2 个答案:

答案 0 :(得分:4)

  • 您尝试将查询分配给$id_pelanggan变量而不是查询中的值。
  • 使用查询的*_fetch array()获取结果
  • 我已经更改了您的if()条件,因为无论发生什么情况,您的$result都不会为空。结果的数量可能。

放上并替换if else条件:

if(mysqli_num_rows($result) == 0){ /* IF FOUND 0 RESULT */
  $id_pelanggan = 1;
}

else {

  while($row = mysqli_fetch_array($result)){
    $maxid = $row["id_pelanggan"];
  }

  $id_pelanggan = $maxid + 1;

} /* END OF ELSE */

答案 1 :(得分:1)

简单地获取结果并递增它。你可以通过 -

来做到这一点
    $count = "SELECT MAX(id_pelanggan) as max_id_pelanggan FROM pelanggan";

    $result = mysqli_query($dbc, $count)
        or die('Error select query');

    if (empty($result)) {
        $id_pelanggan = 1;
    }
    else {
        $data = mysqli_fetch_assoc($result);
        $id_pelanggan = $data['max_id_pelanggan'] + 1;
    }