我在我的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。 任何人都可以帮助我使它有效吗?
答案 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;
}