mysql_result()无法找到资源

时间:2014-10-14 17:05:47

标签: php mysql

我有以下代码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无法找到。 我的数据库连接正确。

2 个答案:

答案 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