I am writing the following code in my PHP program, but mysql is not returning any row. Kindly check and help to find out the mistakes in the following code.
UPDATED CODE
<?php
//$query2= "SELECT * FROM `email` where `id` ='".$_SESSION['user_id']. "'" ;
//$query2= "SELECT * FROM `email` where `id` ='".$_SESSION['user_id']. "'" ;
$query= "SELECT * FROM `email` where `id` =' ".$_SESSION['user_id']. "'" ;
$query_run2= mysql_query($query);
$query_num_rows= mysql_num_rows($query_run2);
if ($query_num_rows==0) {
echo "Invalid Query";
}
else {
$query_result = mysql_result ($query_run2, 0, 'name');
echo "Welcome" ;
echo $_SESSION['user_id'];
}
?>
It is giving me the following Output.
Log out
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in F:\xampp\htdocs\Email_address\welcome.php on line 20
Invalid Query
Thanks, Taha
You need to execute your query and you cannot quote field / table names like that:
$query2= "SELECT * FROM 'email' where 'id' ='".$_SESSION['user_id']. "'" ;
should be:
$query2= "SELECT * FROM `email` where `id` ='".$_SESSION['user_id']. "'" ;
Note that the backticks are only necessary for reserved words in mysql and table and field names with spaces.
You should also not be using the deprecated mysql_*
functions but PDO or mysqli instead.