我有一个mysql语句,它只根据一个id抓取一条记录。我想知道是否使用mysql_fetch_row或其他类似的东西比使用mysql_fetch_array更好,只需抓取数据库中的一行。
使用mysql_fetch_row似乎是常识,但我只是想确定。
答案 0 :(得分:5)
值得注意的一点是 使用
mysql_fetch_array()
不 显着 比使用慢mysql_fetch_row()
,虽然它提供了一个 显着的附加值。
答案 1 :(得分:0)
为什么不在mysql语句中使用LIMIT 1
,无论你有什么行。
答案 2 :(得分:0)
这两个功能几乎完全相同,名称只是让你觉得它有所不同:
$r=mysql_query('SELECT name,email FROM tbl LIMIT 1');
var_dump(mysql_fetch_assoc($r));
// array('name'=>[dbName], 'email'=>[dbEmail]);
var_dump(mysql_fetch_row($r));
// array([dbName], [dbEmail]);
// It's a normal incremental integer index array
var_dump(mysql_fetch_array($r,MYSQL_ASSOC));
// same as mysql_fetch_assoc();
var_dump(mysql_fetch_array($r,MYSQL_NUM));
// same as mysql_fetch_row();
var_dump(mysql_fetch_array($r,MYSQL_BOTH));
// array(0=>[dbName], 1=>[dbEmail], 'name'=>[dbName], 'email'=>[dbEmail]);
该手册还表明,两种功能表现良好。本地测试暗示了同一方向。我建议你不要担心节省的.0001时间/内存,并找到应用程序中的真正瓶颈。