Jürgen Paul
Jürgen Paul

Reputation: 14997

Check whether value exist in database

What's the best way to check whether the value is in the database?

Am I doing it correct?

$result = mysql_query("SELECT COUNT(*) FROM table WHERE name = 'John'");
$count = count($result);

Upvotes: 2

Views: 5712

Answers (4)

Manigandan Arjunan
Manigandan Arjunan

Reputation: 2265

$result = mysql_query("SELECT COUNT(*) as user FROM table WHERE name = 'John'");
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$count = $line['user'];
if($count!=0)
{
  echo "user exists";
}
else
{
  echo "There is no such user";
}

Upvotes: 1

Vijeenrosh P.W
Vijeenrosh P.W

Reputation: 369

you could use straight forward ,

mysql_num_rows() ;

eg :

$con = mysql_connect($host,$uname,$passwd)
mysql_select_db($dbase,$con); 
$result = mysql_query($query,$con);// query : SELECT * FROM table WHERE name='jhon';

if( ! mysql_num_rows($result)) {
   echo " Sorry no such value ";
}

Upvotes: 2

Rajesh Pantula
Rajesh Pantula

Reputation: 10241

Yes you are doing it right, if you are only concerned with checking if there are any records where name='john'

SELECT COUNT(*) FROM table WHERE name = 'John'

will return the no. of records where name field is 'John'. if there are no records then it will return 0, and if there are any records it will return the number of records.

But the above query will miss the entries where name is 'John Abraham' or 'V john', to include even these

you can modify your query like this.

SELECT COUNT(*) FROM table WHERE name like '%John%'

Upvotes: 1

Pierre de LESPINAY
Pierre de LESPINAY

Reputation: 46158

I'd say yes.

$result = mysql_query("SELECT COUNT(*) AS 'nb' FROM table WHERE name = 'John'");
$line = mysql_fetch_array($result, MYSQL_ASSOC);
$count = $line['nb'];

Will give you the number of matching rows.

Upvotes: 1

Related Questions