0

我不明白为什么这不起作用。我知道这很简单。我希望将第二个查询中的值放入$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;
4

3 回答 3

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];
于 2013-10-15T00:46:24.890 回答
1

那是因为mysqli_fetch_assoc返回一个数组。您需要做的是从数组中获取值,例如:

echo $newowner['MAX(id)'];

您可以通过为列名分配别名来简化它,例如,在您的查询中:

select max(ID) as MaxID from owners

然后你可以使用echo $newowner['MaxID'].

于 2013-10-15T00:46:34.063 回答
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'];
于 2013-10-15T00:47:29.703 回答