Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 最后一个身份证没有显示_Php_Mysql_Pdo - Fatal编程技术网

Php 最后一个身份证没有显示

Php 最后一个身份证没有显示,php,mysql,pdo,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> 我在phpMyAdmin

我正试图从数据库中获取最大的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>
我在phpMyAdmin上试过这个命令。它工作得很好。产量为15。因此,我怀疑查询中没有问题

那么问题出在哪里呢?

您应该这样做,即,
$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所说的那样直接获取它

$sql = $db->query("SELECT MAX(id) FROM employees");
$result = $sql->fetch(PDO::FETCH_ASSOC);
print_r($result);

不需要准备语句,因为这是一个静态查询。

您忘记了获取包含结果的行。您现在拥有的
1
true
really)表示查询已成功执行;在执行查询之前,请使用
fetch_assoc()
fetch_object()
您缺少
prepare()
啊,谢谢..更新:)哦。。。谢谢你的帮助!
$sql = $db->query("SELECT MAX(id) FROM employees");
$result = $sql->fetch(PDO::FETCH_ASSOC);
print_r($result);