Ever wondered what the difference between mysql_fetch_array and mysql_fetch_assoc is? What about mysql_fetch_row? I’ve always used mysql_fetch_array, but, for debugging purposes, here’s what they all do:

  • mysql_fetch_assoc returns an associative array of your field names eg $row['field_name_here']
  • mysql_fetch_row returns a numeric array eg $row[0] returns the first column, $row[1] returns the second column etc. – not a good idea as it makes the code less readable, and if the column order changes, or another column is inserted, the order will break.
  • mysql_fetch_array returns both an associative and a numeric array – supposedly slower.

mysql_fetch_array() returns essentially two arrays, one with a numeric index and one with an associative based key index. Thus, using mysql_fetch_array() without specifying which method you want (either MYSQL_NUM or MYSQL_ASSOC), always returns a double array, which is considerably more inefficient as compared to mysql_fetch_row() or mysql_fetch_assoc().



Read More on the Same Subject


Read our comment policy before commenting!


2 thoughts on “Quick Tip: mysql_fetch_ Commands

    1. Yes. It’s faster with a few milliseconds than mysql_fetch_array and equal in speed with mysql_fetch_row as it does the same thing, but, you know, every millisecond counts.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>