We can just check MySql table to verify whether a record exist or not. Here we are not interested in collecting the actual data from table. We are interested in getting a reply of TRUE or FALSE from our command. We will try for one line command using PHP.
We need such a query while working on a member signup script. Here when member enters a userid in the signup form we need to verify with our existing table to know if the userid is already used by some other member. Some time we will have different pages with access to different groups of members ( here the members have different level of access ). So when the member visit a page we will check with our table the member has required level of privilege or not.
This conditional checking is done by using if condition in PHP. Let us see the code for checking the userid exist inside a MySQL table or not.
if(mysql_num_rows(mysql_query("SELECT userid FROM plus_signup WHERE userid = '$userid'"))){
// Code inside if block if userid is already there
}
If we are using PDO class then we can use like this
$count=$dbo->prepare("select userid from plus_signup where userid=:userid");
$count->bindParam(":userid",$userid);
$count->execute();
$no=$count->rowCount();
if($no >0 ){
$msg=$msg."User Name already exists. Choose a different User Name";
$status = "NOTOK";
}
The above sql query will return TRUE or FALSE depending on the presence of userid in MySQL table.
Short code to find number of matching record
If you have already sanitized your variable and can use directly in the query then here is a quick way to find out how many matching records present in the table.
Here is the code using PHP PDO.
$nume = $dbo->query("select count(id) from plus_signup where userid='$userid'")->fetchColumn();
echo "<br>Number of records : ". $nume;
Note that in this query id field is a unique field so we are counting records using only id field. If there is no such unique field is used then we can change the query to match the total record.
$nume = $dbo->query("select count(*) from plus_signup where userid='$userid'")->fetchColumn();
echo "<br>Number of records : ". $nume;