例如,对于某些查询,如SELECT MAX(字段),查询结果通常只是字段值,而不是返回行。
现在我想要得到的值的字段是整型
由于我是php的初学者,如何从查询结果中获得该值
正如我所做的以下
$query = "SELECT MAX(stringid) FROM XMLString";
$result = mysql_query($query, $link);
echo $result;
然后什么也没有回音。我已经检查了mysqlconnect建立的数据库连接,它没有问题
我在phpMyAdmin的MySQL中尝试了这个查询,那么这个查询也是我想要的吗?
那么,为什么会是这样,以及任何解决方案?
谢谢!
您将始终从SQL查询中检索行,即使只有一行带有一个字段。您可以使用mysql_result
:直接检索特定行的特定字段
$query = "SELECT MAX(stringid) FROM XMLString";
$result = mysql_query($query, $link);
echo mysql_result($result, 0, 0);
$query = "SELECT MAX(stringid) as val FROM XMLString";
$result = mysql_query($query, $link);
$rows = mysql_num_rows($result);
if($rows > 0) {
$rstAry = mysql_fetch_array($result);
echo $rstAry['val'];
}
试试这个
mysql_query没有打印结果。也许试试这个:
echo mysql_result($result);
由于mysql_query
返回了一个数据库对象,因此您没有得到任何结果。
您需要使用mysql_fetch_array
来处理这个"数据库对象"。此命令从MySQL"数据库对象"中"获取"array
。您正在获取的array
是您的查询生成的行。在你的情况下,它只是一排。
这是代码:
-
此步骤设置您的查询:
$query = "SELECT MAX(stringid) as val FROM XMLString";
-
此步骤将运行查询,并返回数据库对象:
$result_database_object_whatever = mysql_query($query, $link);
-
这一步将处理数据库对象,并为您提供一个查询行的数组:
$result_array = mysql_fetch_array($query, $link);
-
此步骤将回显查询返回的第一行:
echo $result_array[1];
您可以这样做:
$query = "SELECT MAX(stringid) FROM XMLString";
$result = mysql_query($query, $link);
$fetch = mysql_fetch_assoc($result);
echo $fetch['stringid'];
mysql_fetch_assoc()
函数检索关联数组中的数据。
给max一个可以引用的名称会有帮助吗?此外,如果你认为存在语法错误,你可以添加错误来帮助澄清。
$query = "SELECT MAX(stringid) as maxNum FROM XMLString";
$result = mysql_query($query, $link) or die(mysql_error());
echo $result;