上次ID未显示

时间:2015-06-17 12:40:32

标签: php mysql pdo

我正在尝试从数据库中获取最大的ID号。输出应为15,但它显示1.我的PHP脚本:

$sql = "SELECT MAX(id) AS id FROM employees";

$sql = $db->prepare($sql);

$lid = $sql->execute();

我在这里输出:

<input type="number" name="id" value="<?php echo $lid; ?>" disabled>

我也尝试过:

$sql = "SELECT id FROM employees ORDER BY id DESC LIMIT 1";

我在phpMyAdmin上尝试了这个命令。它工作正常。输出是15.所以,我怀疑查询中没有问题。

那么问题是什么?

2 个答案:

答案 0 :(得分:1)

您应该FETCH,即$sql->fetch(PDO::FETCH_ASSOC);

所以,你应该有像

这样的东西
$sql = "SELECT MAX(id) FROM employees";
$sql = $db->prepare($sql);
$sql->execute();
$result = $sql->fetch(PDO::FETCH_ASSOC);
print_r($result);

注意:简单地$lid = $sql->execute();表示它将指定查询是否正在执行。

当您的查询正在执行时,它返回true,即1

更新:如果您没有绑定任何您甚至不需要准备的值,您应该像Adelphia一样直接获取

答案 1 :(得分:0)

sender

不需要预处理语句,因为它是静态查询。