如何检查MySQL数据库中是否已存在值

时间:2011-11-04 20:03:38

标签: php mysql database

  

可能重复:
  How do I update if exists, insert if not (aka upsert or merge) in MySQL?

我知道这很基本..但由于某种原因,这对我不起作用。我有一个存储Facebook用户ID的表单,以检查他们是否已提交表单。我有一个表单,将用户ID提交到数据库工作完美。它只是检查数据库中是否存在用户ID值的一部分,这是绊倒我。

这是我的代码......

$user_id = 1234567890;

$checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'");

if ($checkUserID) {
echo "GTFO BRO";
} 

每当我在$ checkUserID变量上执行“echo”时,我都会返回..“资源ID#9”

3 个答案:

答案 0 :(得分:12)

mysql_query返回包含查询结果的资源,您需要使用以下内容:

$user_id = 1234567890;

$checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'");

if (!$checkUserID) {
    die('Query failed to execute for some reason');
}

if (mysql_num_rows($checkUserId) > 0) {
    echo "User id exists already.";
    $user = mysql_fetch_array($checkUserId);
    print_r($user); // the data returned from the query
}

答案 1 :(得分:0)

我认为你查询字符串是错误的。如果您使用双引号,则必须将其更改为

.... WHERE fbUserId = '{$user_id}'"

或者你必须连接它

..... WHERE fbUserId = '" . $user_id . "'"

答案 2 :(得分:-1)

尝试以下代码:

$checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'");

while($test = mysql_fetch_array($checkUserID))

if ($test ) {
echo "GTFO BRO";
}

我希望这对你有用..