我有这个函数来检查用户是否已经存在于DB中:
function checkTwitterAccount($user_id) {
$accountExists = false;
$a = "SELECT * FROM twitterAccounts WHERE user_id='".$user_id."'";
$ar=mysql_query($a) or die("Error selecting twitter account: ".mysql_error());
$ac = mysql_num_rows($ar);
if ($ac > 0) {
$accountExists = true;
}
return $accountExists;
}
现在,当我调用此函数时,我如何确实知道用户是否在DB中?
我的意思是如何调用此函数以及如何检查结果?
以下是对吗?
If (checkTwitterAccount($user_id) = true) {
DO THIS
}else{
DO THAT
}
请帮助我,我是新手。
由于
答案 0 :(得分:1)
function checkTwitterAccount($user_id) {
$user_id = intval($user_id);
$a = "SELECT `user_id` FROM `twitterAccounts` WHERE `user_id` = '".mysql_real_escape_string($user_id)."'";
$ar = mysql_query($a) or die("Error selecting twitter account: ".mysql_error());
$ac = mysql_num_rows($ar);
return ($ac > 0);
}
if(checkTwitterAccount($someid)) {
// Exists...
} else {
// No such ID in the DB
}
请注意,比较运算符是== not =(这是assign)。 所以你可以这样做:
if(checkTwitterAccount($someid) == true) {
但是,这里没有必要。
还要记得清理查询中的数据。
答案 1 :(得分:1)
if (checkTwitterAccount($user_id)) { //true
//do something
} else { //false
//do something
}
答案 2 :(得分:1)
if (checkTwitterAccount($user_id) == true) {
//do this
}
else {
//do that
}
您必须使用==
而不是=
,因为=
操作数在您编写的代码中将值设置为true,而==
操作数则比较返回的值到true
。
答案 3 :(得分:1)
由于您返回真值或假值,您只需使用:
If (checkTwitterAccount($user_id)) {
//DO THIS
}else{
//DO THAT
}
注意:您的原始行:
If (checkTwitterAccount($user_id) = true) {
会导致赋值错误,因为单个“=”表示分配一个无法对函数执行的值。你想要:
If (checkTwitterAccount($user_id) == true) {
因为“==”比较一个值。此外,==只比较值,所以例如0是积极与false的比较,任何数字与true正比较,如果你想比较类型你我们“===”像这样:
0 == false //true
0 === false //false
false == false //true
false === false //true
1 == true //true
1 === true //false
true == true //true
true === true //true
答案 4 :(得分:0)
if (checkTwitterAccount($user_id) == true){
do something if its true
} else {
do something if its flase
}
应该工作..鉴于你提供了该函数的参数,似乎是 来自db。中用户表的id列的int ..或id号。
基本上你有一个HTML表单,它接受一个用户名并检查数据库 对于数据库中users表中的用户id号。一旦它有这个数字,它就会 将其传递给函数 checkTwitterAccount($ user_id)如果该函数返回True,则意味着通过函数名称猜测用户拥有Twitter帐户,否则他没有。[/ p> 你可以这样做:
if (checkTwitterAccount($user_id) == true){
echo "This user has a twitter account";
} else {
echo "This user does not have a twitter account";
}
答案 5 :(得分:0)
你可以缩短原点。功能
function checkTwitterAccount($user_id) {
$a = "SELECT * FROM twitterAccounts WHERE user_id='" . $user_id . "'";
$ar = mysql_query($a) or die("Error selecting twitter account: " . mysql_error());
return mysql_num_rows($ar) > 0; // boolean (will be true or false)
}
然后使用max_的答案。 (见comparison operators)