PHP mySQL结果变量

时间:2013-10-15 00:42:11

标签: php mysql

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

3 个答案:

答案 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'];