Re: IBM's Learning PHP Part 1 tutorial.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Bill,

Wednesday, July 6, 2005, 3:36:09 AM, you wrote:

BM> I'm working my way through IBM's PHP tutorial. Generally good ...
BM> but I'm stuck at an error point and have no idea what's going
BM> wrong. Before adding a new row to the mysql database (already
BM> opened) we do a query to see if a particular record already
BM> exists. (see $resultT).

BM> We then test, using if, to see if $resultT is true or false. If
BM> it's false we are then supposed to enter a new record. Problem:
BM> it's never false. It always evaluates true. What am I doing wrong?

BM> /*   build query to see if the record is entered already */
BM>      $sqlT = "select * from users where
BM> username='".$_POST["name"]."'";
BM>      $resultT = mysql_query($sqlT);

BM> /*   Now test -- did we find anything ... if not add this user */
BM>      if (! $resultT) {
BM> /*  here we add the new record if it doesn't already exit /*

To be honest that is quite shocking code, especially from a "teaching
beginners" perspective - and even more so coming from the likes of
IBM. But, SQL injection issues aside, the problem is most likely that
there is nothing wrong with your SQL query. mysql_query will return a
false (for a SELECT query) only if there is an error, not if "no
records exist" - that isn't an error.

It would make more sense to actually do a: "SELECT COUNT(*) AS hits FROM
users WHERE username = 'x'" and then check the value of the returned
"hits" (which will always return something, even if zero).
Alternatively instead of doing if (!$result) you could do: if
(mysql_num_rows($result) > 0) ... that way you know that the user
already exists.

Best regards,

Richard Davey
-- 
 http://www.launchcode.co.uk - PHP Development Services
 "I do not fear computers. I fear the lack of them." - Isaac Asimov

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux