I'm just beginning with PHP and came across something which is
frustrating me no end. I have a really simple script which given a
username will query the database and if it doesn't find a match will
then insert into the database. The problem I find is that even when
there is no data in the database to match the return from mysql_query
evaluates to true even though all the documentation and tutorials that I
have read say that mysql_query should return false when using a SELECT
query if there is no match. Am I missing something really simple here or
is there another explaination as to why this might be the case? The
following code snippet exhibits this behaviour. I am running the
following: Apache 2.0.54, PHP 5.0.5-2, MySQL 4.1.12.
<?php
$username = "david";
$conn = mysql_connect('localhost','user','pass');
mysql_select_db('test',$conn);
$sql = "SELECT * FROM users WHERE username='$username'";
echo $sql."<br/>";
$result = mysql_query($sql,$conn);
echo $result."<br/.>";
if (!$result)
echo "No Match!<br/>";
else
{
$row = mysql_fetch_array($result);
while ($row)
{
echo $row['username'].' -- '.$row['email'].'<br/>';
$row = mysql_fetch_array($result);
}
}
mysql_close();
?>
Cheers,
David
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php