Php PDO只得到一个值
我正在查询数据库中输入的最新行,并且只获取id列,因此我确信我将获得一个值。但是,我无法打印变量,除非它位于Php PDO只得到一个值,php,sql,pdo,Php,Sql,Pdo,我正在查询数据库中输入的最新行,并且只获取id列,因此我确信我将获得一个值。但是,我无法打印变量,除非它位于foreach循环中,甚至访问第0个元素都不会给我任何输出 我使用这行代码查询最新添加的行id:$id=$db->query(“从FM中选择MAX(id)) 当我使用foreach循环时,我得到以下输出: 循环: 输出: Array ( [MAX(id)] => 20 [0] => 20 ) 但是,当我使用print$id[0]时或打印$id[“最大(id)”]我得到HTTP
foreach
循环中,甚至访问第0个元素都不会给我任何输出
我使用这行代码查询最新添加的行id:$id=$db->query(“从FM中选择MAX(id))代码>
当我使用foreach
循环时,我得到以下输出:
循环:
输出:
Array ( [MAX(id)] => 20 [0] => 20 )
但是,当我使用print$id[0]时代码>或<代码>打印$id[“最大(id)”]代码>我得到HTTP错误500
我如何获取单个值id并将其放入变量中,即id本身
谢谢而不是选择max(id),您必须使用lastInsertId()
方法
$id = $db->lastInsertId();
在调用insert query而不是选择max(id)之后,必须使用lastInsertId()
方法
$id = $db->lastInsertId();
调用insert query后,我立即查找了从query
函数返回的PDOStatement
引用,找到了fetchAll()
方法,该方法返回一个行数组,并通过以下代码行获得了最新的id:$id->fetchAll()[0][0]
我在query
函数返回的PDOStatement
引用中查找,找到了fetchAll()
方法,该方法返回一个行数组,并通过以下代码行获得了最新的id:$id->fetchAll()[0][0]代码>使用此打印($id[0])
而不是打印$id[0]代码>或echo$id[0]代码>打印($id[0])代码>也不起作用。请使用此打印($id[0])
而不是打印$id[0]代码>或echo$id[0]代码>打印($id[0])代码>也不起作用。+1到-aizen-。是的,这是一个选择。这在这里很好,我认为也是一个错误,因为您试图将对象的项打印为数组的索引。我的意思是你应该做打印($id[0]->id);或者至少打印($id[0])代码>+1至-aizen-。是的,这是一个选择。这在这里很好,我认为也是一个错误,因为您试图将对象的项打印为数组的索引。我的意思是你应该做打印($id[0]->id);或者至少打印($id[0])
没有注意到您在$db
上调用了lastInsertId()
,它成功了。感谢您没有注意到您在$db
上调用了lastInsertId()
,它成功了。谢谢