我正在尝试从数据库中获取最大的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.所以,我怀疑查询中没有问题。
那么问题是什么?
答案 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
不需要预处理语句,因为它是静态查询。