使用PHP函数

时间:2011-12-26 15:52:35

标签: php function

我有这个函数来检查用户是否已经存在于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
}

请帮助我,我是新手。

由于

6 个答案:

答案 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