我有以下代码echo
来自我的表id
的最大challenge
,但它给了我这个错误:
警告:mysql_result():在第8行的D:\ xampp \ htdocs \ challenge.php中的MySQL结果索引6中找不到id
这是我的代码:
<?php
require('config.php');
$result = mysql_query("SELECT max(id) FROM `challenge`");
$id = mysql_result($result, 0, 'id');
echo $id;
?>
我的表challenge
确实有一个id
列,那么为什么PHP无法找到。
我的数据库连接正确。
答案 0 :(得分:5)
就像它说的那样,你没有返回一个名为&#34; id&#34;的列,你将返回一个名为&#34; max(id)&#34;的列。如果您想将列引用为&#34; id&#34;使用别名:
$result = mysql_query("SELECT max(id) AS id FROM `challenge`");
请注意AS id
(旁注:正如Jay Blanchard在评论中所说,mysql_*
函数因安全问题而被弃用。请查看MySQLi,作为其中的一部分,准备语句。)
答案 1 :(得分:0)
当使用像Max,Min这样的聚合函数时,尝试给出一个Alias,然后你可以在结果中访问它。
$result = mysql_query("SELECT max(id) as id FROM `challenge`");
但此功能比mysql_fetch_row(), mysql_fetch_array(),
mysql_fetch_assoc()
和mysql_fetch_object()
其次,您不应使用mysql_*
函数,而应使用mysqli or PDO