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

Php 如何检查MySQL数据库中是否已经存在值,php,mysql,database,Php,Mysql,Database,可能重复: 我知道这很基本。。但出于某种原因,这对我不起作用。我有一个储存Facebook用户ID的表单,用来检查他们是否已经提交了表单。我有一个将用户ID提交到数据库中的表单,它工作得非常好。这只是检查数据库中是否存在让我大吃一惊的用户ID值的一部分 这是我的密码 $user_id = 1234567890; $checkUserID = mysql_query("SELECT fbUserID from submissions WHERE fbUserID = '$user_id'");

可能重复:

我知道这很基本。。但出于某种原因,这对我不起作用。我有一个储存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”

mysql\u查询返回一个包含查询结果的资源,您需要使用如下内容:

$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
}

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

.... WHERE fbUserId = '{$user_id}'"
或者你必须连接它

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

请尝试以下代码:

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

while($test = mysql_fetch_array($checkUserID))

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

我希望这会对您正常工作。

尝试
if(mysql\u num\u rows($checkUserID)>0)
!Cba需要完整的回答,所以请给我一个评论。但您所做的是运行一个查询。任何查询的响应始终是一个资源。(使用mysql时)。然后,您需要从该查询中获取行或获取该查询中的行数。另外,不要使用mysql。太可怕了。使用PDO。@ComFreak谢谢我会试试的@康弗里克呜呜!成功了!非常感谢。连接到查询字符串只是询问SQL注入问题。