|
Posted by Jerry Stuckle on 05/31/07 03:44
Edwina Rothschild wrote:
> Hello,
>
> I am new to PHP so I have done a research on how to check if an entry
> exists on the table. I came up with the following code:
>
> include("dbinfo.inc.php");
> $Name=$_POST['Name'];
> $Code=$_POST['Code'];
> mysql_connect($host,$username,$password);
> @mysql_select_db($database) or die( "Unable to select database");
> $result = mysql_query("SELECT * FROM Contacts WHERE Code=$Code");
> if($row = mysql_fetch_array($result)) echo "exists";
> else
> {$query = "INSERT INTO Contacts VALUES ('','$Name','$Code')";
> echo "ok";}
> mysql_query($query);
> mysql_close();
>
> This works if the code is integer (1264), however if the code is
> string (a4fg5h4) it shows - "Warning: mysql_fetch_array(): supplied
> argument is not a valid MySQL result resource in D:\xampp\htdocs\reg
> \insert.php on line 10
> ok"
>
> I can't found out what is the problem here as all the examples on the
> web shows similar codes to do checking.
>
>
> Regards,
> K. Vijayakumar
>
>
>
Your mysql_query failed.
You should always check the result of any MySQL call (except
mysql_close(), maybe).
$result = mysql_query("SELECT * FROM Contacts WHERE Code=$Code");
if (!$result)
echo "Query failed!" . mysql_error();
else
if($row = mysql_fetch_array($result)) echo "exists";
...
or,
if (mysql_num_rows($result) > 0) echo "exists";
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|