Reputation: 17393
I am using mysql.
I would like to check two values in my users
table.
$same_user = "mfalse" ;
$sql=mysql_query("SELECT * FROM users WHERE username='$email' OR phone='$phone'");
if(mysql_num_rows($sql)>=1)
{
$same_user = "mfalse" ;
}
else
{
$same_user = "mtrue" ;
mysql_query("SET CHARACTER SET utf8");
mysql_query("insert into users (username,pass,fname,lname,phone,city)
VALUES (N'$email',N'$pass',N'$fname',N'$lname',N'$phone',N'$city')");
}
$arr = array(
'sameuser'=>$same_user);
return $arr ;
in the above my code, the inserted occurs but from $arr
I get :
{"sameuser":"mfalse"}
why ?
updated
My function :
function regiterAnUser($an_user){
//email,pass,fname,lname,phone,city
$content = explode("-",$an_user);
$email = $content[0];
$pass = $content[1];
$fname = $content[2];
$lname = $content[3];
$phone = $content[4];
$city = $content[5];
$pass = md5($pass);
$same_user = "mfalse" ;
$sql=mysql_query("SELECT * FROM users WHERE username='$email' OR phone='$phone'");
if(mysql_num_rows($sql)>=1)
{
$same_user = "mfalse" ;
}
else
{
$same_user = "mtrue" ;
mysql_query("SET CHARACTER SET utf8");
mysql_query("insert into users (username,pass,fname,lname,phone,city)
VALUES (N'$email',N'$pass',N'$fname',N'$lname',N'$phone',N'$city')");
}
$arr = array(
'sameuser'=>$same_user);
return $arr ;
}
Upvotes: 2
Views: 84
Reputation: 3738
I would no use mysql
function but, it is your choice.
I refactored your code and it works for me, please let me know
function regiterAnUser($an_user){
$same_user = "mfalse" ;
//email,pass,fname,lname,phone,city
$content = explode("-",$an_user);
$email = mysql_real_escape_string($content[0]);
$pass = mysql_real_escape_string($content[1]);
$fname = mysql_real_escape_string($content[2]);
$lname = mysql_real_escape_string($content[3]);
$phone = mysql_real_escape_string($content[4]);
$city = mysql_real_escape_string($content[5]);
$pass = md5($pass);
$sql=mysql_query("SELECT * FROM users WHERE username='$email' OR phone='$phone'");
if(mysql_num_rows($sql)<1) {
$same_user = "mtrue" ;
mysql_query("SET CHARACTER SET utf8");
mysql_query("insert into users (username,pass,fname,lname,phone,city)
VALUES (N'$email',N'$pass',N'$fname',N'$lname',N'$phone',N'$city')");
}
return array('sameuser'=>$same_user) ;
}
Upvotes: 1
Reputation: 141
Have you tried to output $sql
?
Anyway I would recommend to count the rows with MySQL. Look here.
And please don't use mysql_*
functions. They are deprecated. See here for example.
Upvotes: 0