PHP: Как проверить, существует ли идентификатор в базе данных - PullRequest
4 голосов
/ 02 сентября 2011

Почему это не отправит пользователя в user.php, если ID не существует в таблице?

<?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();
}

?> 

Спасибо заранее!

Ответы [ 3 ]

13 голосов
/ 02 сентября 2011
$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
}

Попробуйте что-то вроде этого :).http://php.net/manual/en/function.mysql-num-rows.php

2 голосов
/ 02 сентября 2011

Пожалуйста, прочитайте документы для mysql_query.Вы должны получить результат после выполнения запроса.Тем не менее, вы, вероятно, должны использовать PDO вместо mysql_*.

0 голосов
/ 02 сентября 2011

Поскольку mysql_query не возвращает строку, он возвращает ресурс.

Используйте mysql_num_rows($result), чтобы проверить, возвращена ли строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...