使用PHP在MySQL中选择一行的最佳方法是什么?

时间:2011-04-13 22:44:36

标签: php mysql database row fetch

我有一个mysql语句,它只根据一个id抓取一条记录。我想知道是否使用mysql_fetch_row或其他类似的东西比使用mysql_fetch_array更好,只需抓取数据库中的一行。

使用mysql_fetch_row似乎是常识,但我只是想确定。

3 个答案:

答案 0 :(得分:5)

  

值得注意的一点是   使用mysql_fetch_array()    显着 比使用慢   mysql_fetch_row(),虽然它提供了一个   显着的附加值。

Source

答案 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时间/内存,并找到应用程序中的真正瓶颈。