Connecting Tech Pros Worldwide Help | Site Map

Checking if record with some field exists

Edwina Rothschild
Guest
 
Posts: n/a
#1: May 30 '07
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



Jerry Stuckle
Guest
 
Posts: n/a
#2: May 31 '07

re: Checking if record with some field exists


Edwina Rothschild wrote:
Quote:
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
==================
Closed Thread