I want to execute a query and either it will return one row or none. I don't want to use mysql_fetch_array(). What else can I do?
+1
A:
You could write a function to do it for you.
function get_one_row($query) {
$result = mysql_query($query);
$row = mysql_fetch_array($result);
return($row);
}
Or are you trying to eschew mysql_fetch_array entirely?
Greg
2009-11-27 07:36:08
+4
A:
Alternatives to mysql_fetch_array()
You don't have to use a while loop. Using mysql_num_rows()
you can check the number of returned rows. This works on the resultset that is returned from a mysql_query()
call.
$res = mysql_query('select 0');
if (mysql_num_rows($res)) {
$data = mysql_fetch_array($res);
}
Peter Lindqvist
2009-11-27 07:41:11
+2
A:
If you've got only one (or zero) rows to pull.
$result = mysql_query(/* ... */);
$row = mysql_fetch_array($result);
mysql_free_result($result);
If there is a row, $row
will have it. If not - $row
will be false
. No need for while()
.
If you just want to know how many rows you've got
$count = mysql_num_rows($result);
Emil Ivanov
2009-11-27 07:43:32
I see. Ok, is there any way to determine the number of rows in an array? Anything like row_count.
RPK
2009-11-27 07:45:36
mysql_num_rows()
Peter Lindqvist
2009-11-27 07:46:54