Привет, я получаю сообщение об ошибке ниже, я дважды проверил все и не знаю, почему его отображают. Предупреждение: mysql_num_rows(): предоставленный аргумент не является допустимым ресурсом результата MySQL в /home/namebob/public _html/site_reg/statlookup.php в строке 6
<?php
include_once('common.php');
$cid = $_REQUEST['cid'];
$_elmID = $_REQUEST['elmID'];
$scan = mysql_query("SELECT `id`, `state` FROM `mast_state` WHERE `countryid` = $cid");
if(mysql_num_rows($scan)>0)
{
...
$scan = mysql_query("SELECT `id`, `state` FROM `mast_state` WHERE `countryid` = $cid");
$stock_num = '';
if($scan )
{
while($row=mysql_fetch_object($scan))
{
if($row->state)
$state = $row->state;
}
}
$scan = mysql_query("SELECT `id`, `state` FROM `mast_state` WHERE `countryid` = '".mysql_real_escape_string($cid)."'");
Но действительно, используйте PDO.
$stm = $db->prepare("SELECT `id`, `state` FROM `mast_state` WHERE `countryid` = ?"); if( $stm && $stm->execute(array($cid)) ) { while( $data = $stm->fetch(PDO::FETCH_ASSOC) ) { } }
Скорее всего, ваш запрос не работает. Попробуйте:
if($scan) {
if(mysql_num_rows($scan) > 0) {
//...
}
} else {
trigger_error(mysql_error());
};
Стоит попробовать var_dump($scan)
, если вы получаете что-то вроде null/false, это означает, что запрос не выполняется. В этом случае попробуйте echo mysql_error()
проверить любую ошибку sql (отсутствующая таблица и т.д.)
$cid = $_REQUEST['cid'];
должно быть$cid = (int) $_REQUEST['cid'];
во избежание атак SQL-инъекций.