Php 如何检查数据库中是否存在ID

Php 如何检查数据库中是否存在ID,php,mysql,get,Php,Mysql,Get,如果表中不存在ID,为什么不将用户发送到user.php <?php include 'db_connect.php'; $id_exists = false; $url_id = mysql_real_escape_string($_GET['id']); $sql = "SELECT id FROM members WHERE id='$url_id'"; $result = mysql_query($sql); if ($result == $url_id)

如果表中不存在ID,为什么不将用户发送到user.php

<?php
include 'db_connect.php';
$id_exists = false;
$url_id = mysql_real_escape_string($_GET['id']);
$sql = "SELECT id FROM members WHERE id='$url_id'";
$result = mysql_query($sql);
 
if ($result == $url_id)
{
        $id_exists = true;
}
 
else if ($result != $url_id)
{
        $id_exists = false;
        header("location:user.php");
        exit();
}
 
?> 

请阅读相关文档。您必须在进行查询后获取结果。也就是说,您可能应该使用而不是
mysql.*

,因为mysql\u查询不返回行,而是返回资源

使用
mysql\u num\u rows($result)
检查是否返回了一行

$url_id = mysql_real_escape_string($_GET['id']);
$sql = "SELECT id FROM members WHERE id='$url_id'";
$result = mysql_query($sql);

if(mysql_num_rows($result) >0){
   //found
}else{
   //not found
}
试试这样的方法:)。

人们通常会使用调试来找出答案。另外,请参阅手册,了解返回的值。对于SELECT、SHOW、DESCRIPE、EXPLAIN和其他返回resultset的语句,mysql\U query()在成功时返回资源,或在错误时返回FALSE。@Pramendra:返回零行的查询仍然成功,因此返回的资源将没有行,不假,谢谢!我还将查看num rows函数。