我想从sql查询返回一个整数,而不是“”;资源id#7”;


I want to return an integer from a sql query not "Resource id #7"?

现在我正在尝试输出最高j_id行的值。

$result = mysql_query("SELECT max(`j_id` +1) FROM `journey`");

我还特意将1添加到j_id中。

它在phpmyadmin面板中运行良好。但是,当我尝试在任何php脚本中使用它时,我会返回资源id。我知道mysql_query()不会返回数组,我尝试过mysql_fetch_array($result),但它不起作用。

有什么帮助吗?

$result = mysql_query("SELECT max(j_id +1) FROM journey");
$row = mysql_fetch_row($result);
$max_id_plus_one = $row[0];

$result不是您想要的值-它包含它。

请注意,mysql扩展是不推荐使用的,您应该改用mysqli或DBO。

试试这个:

$result = mysql_query("SELECT max(j_id +1) as max_id FROM journey");
$row = mysql_fetch_assoc($result);
$max_id_plus_one = $row['max_id'];

您可以尝试此

$result = mysql_query("SELECT max(j_id +1) as mid FROM journey");
$row = mysql_fetch_row($result);
$max_id_plus_one = $row['mid'];

请参阅"数值数组与关联数组"部分。

我想,你的困惑会很清楚。。。

mysql_fetch_array = Associative Arrays
mysql_fetch_row   = Numeric Arrays

如果使用mysql_fetch_array,那么可以从phpmyadmin中查看列名,并使用该列名从数组中获取数据。

如果使用mysql_fetch_row,则从$row[0]获取数据。