Показать сообщение отдельно

  #5  
Старый 25.11.2009, 09:37
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
С нами: 9394886

Репутация: 1467


По умолчанию

Цитата:
Сообщение от SeNaP  
Как бы есть фильтрация SQl-inj, нельзя передать число меньше 0 , но вот как зделать если у меня в БД 4 записи, и переменная ID = 1000(допустим) то у меня просто тупо белый экран.
Как составить запрос, если у меня например 4 записи в БД, я передаю переменной id значение 1000, если в БД нет такой записи, естественно выдаем ошибку?

PHP код:
if (isset($_GET['id']))
            {  
                
$idp = (int)$_GET['id'];
                    if (
$idp <= '0') {
                                        echo 
"Произошла ошибка!";
        }                                
                                        }
                
$sql1 mysql_query("SELECT * FROM `tetom` where `id`=".$idp."");


В этом коде нет обработки нулевого ID, btw

Код этот я бы переписал так:

Цитата:
if(isset($_GET['id']))
{
$idp = intval($_GET['id']);
if($idp < 1) echo 'Error: incorrcect ID';
$q = mysql_query("SELECT * FROM `tetom` WHERE `id` = $id");
# насколько я понял, то вот так:
if(!mysql_num_rows($q)) echo 'No match records';
}
 
Ответить с цитированием