我不明白为什么这不起作用。我知道这很简单。我希望第二个查询的值放入$newowner
我得到一个数组到字符串转换错误。
$query = "INSERT INTO owners (fname, lname) VALUES ('default', 'default')";
mysqli_query( $con, $query );
echo $query;
$query = "SELECT MAX(id) FROM owners";
$result = mysqli_query( $con, $query );
$newowner = mysqli_fetch_assoc( $result );
echo $newowner;
答案 0 :(得分:1)
在这种情况下,$newowner
是一个数组。尝试为查询添加别名,如:
$query = "SELECT MAX(id) AS max_id FROM owners";
$result = mysqli_query($con, $query);
$newowner = mysqli_fetch_assoc($result);
echo $newowner['max_id'];
了解如何从关联数组中访问值,或者只是以数字索引的方式获取值。
$newowner = mysqli_fetch($result);
echo $newowner[0];
答案 1 :(得分:1)
那是因为mysqli_fetch_assoc返回一个数组。你需要做的是从数组中获取值,例如:
echo $newowner['MAX(id)'];
您可以通过为列名指定别名来简化它,例如,在查询中:
select max(ID) as MaxID from owners
然后您可以使用echo $newowner['MaxID']
。
答案 2 :(得分:0)
假设你的初始查询插入正确,$newowner
实际上是一个数组,所以你不能只是回应它。你可以这样显示:
print_r($newonwer);
但你最好使用以下内容:
$query = "SELECT MAX(id) as ID FROM owners";
$result = mysqli_query($con, $query);
$newowner = mysqli_fetch_assoc($result);
echo $newowner['ID'];