php 输出内容问题
php想要输出表中的某个字段的值,是不是一定要这样$row=mysql_fetch_array($result),$row['field'],难道必须要把结果集中的数据导...
php想要输出表中的某个字段的值,是不是一定要这样$row=mysql_fetch_array($result),$row['field'],难道必须要把结果集中的数据导入到一个数组后,然后再按照索引来取得这个字段的值吗,有没有不需要mysql_fetch_array(),直接用$row[]就可以了
展开
3个回答
展开全部
老兄你是个刨根问底的人,看得出来,你一定能学好php,是一个严谨的学习者。
虽然我并不太十分清楚为什么不可以,但是我却试过直接使用的后果:
echo $result后,得到的结果全部类似于这样:Resource id #20、Resource id #21;
一个是你说的mysql_fetch_array,另一个是mysql_fetch_row,再一个是上位先生所证明的mysql_result。
前者print_r();后,可以看出数组中有两种提取方式,一种是$row[字段名],一种是$row[序号值]。
而中者只有$row[序号值]。
而后者只返回一个字段,当然可用字段名,也可用序号值,也就是所谓的偏移量。
综上所述,我觉得执行这条语句的作用是解释(或编译)数据库传来的值,并将其做为数组输出,也就是说,不管你是array也好、row也好还是result也罢,这个过程是不可省略的。
但是如果你感觉不方便,大可以将它写成自定义方法或类,面向对象后,你会发现开发是如此轻松!
mysql_result的用法:
mysql_result() 函数返回结果集中一个字段的值。
如果成功,则该函数返回字段值。如果失败,则返回 false。
语法
mysql_result(data,row,field)参数 描述
data 必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。
row 必需。规定行号。行号从 0 开始。
field 可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。
如果该参数未规定,则该函数从指定的行获取第一个字段。
说明
当作用于很大的结果集时,应该考虑使用能够取得整行的函数。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。
此外请注意,在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。
例子
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db", $con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
echo mysql_result($result,0);
mysql_close($con);
?>输出类似:
Adams
好了,不多说了,祝我自己晚安吧。
虽然我并不太十分清楚为什么不可以,但是我却试过直接使用的后果:
echo $result后,得到的结果全部类似于这样:Resource id #20、Resource id #21;
一个是你说的mysql_fetch_array,另一个是mysql_fetch_row,再一个是上位先生所证明的mysql_result。
前者print_r();后,可以看出数组中有两种提取方式,一种是$row[字段名],一种是$row[序号值]。
而中者只有$row[序号值]。
而后者只返回一个字段,当然可用字段名,也可用序号值,也就是所谓的偏移量。
综上所述,我觉得执行这条语句的作用是解释(或编译)数据库传来的值,并将其做为数组输出,也就是说,不管你是array也好、row也好还是result也罢,这个过程是不可省略的。
但是如果你感觉不方便,大可以将它写成自定义方法或类,面向对象后,你会发现开发是如此轻松!
mysql_result的用法:
mysql_result() 函数返回结果集中一个字段的值。
如果成功,则该函数返回字段值。如果失败,则返回 false。
语法
mysql_result(data,row,field)参数 描述
data 必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。
row 必需。规定行号。行号从 0 开始。
field 可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。
如果该参数未规定,则该函数从指定的行获取第一个字段。
说明
当作用于很大的结果集时,应该考虑使用能够取得整行的函数。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。
此外请注意,在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。
例子
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db", $con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
echo mysql_result($result,0);
mysql_close($con);
?>输出类似:
Adams
好了,不多说了,祝我自己晚安吧。
展开全部
因为返回的数据结果集里。往往不只有一条数据。PHP 不知道你想要的是哪一条。
考虑到你要显示所有数据。必然要用循环遍历数据,就用了这样的函数组合。
你所想要的功能,可以考虑通过封装自定义函数来实现。。我自己是封装成类来用的。
考虑到你要显示所有数据。必然要用循环遍历数据,就用了这样的函数组合。
你所想要的功能,可以考虑通过封装自定义函数来实现。。我自己是封装成类来用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查查看mysql_result的用法,是不是符合你的要求呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询