Php 而($row=mysql\u fetch\u array($query))不工作

Php 而($row=mysql\u fetch\u array($query))不工作,php,loops,while-loop,fetch,mysql-num-rows,Php,Loops,While Loop,Fetch,Mysql Num Rows,我试图做的是通过在cookie(称为“标识”)中验证来检查用户的Id 这是我的密码: if(!$noCookie) { $sql = "SELECT * FROM `". TABLE_PREFIX ."_logged` WHERE `logged_cookie` = '". $usersCookie ."' LIMIT 1"; $query = mysql_query($sql) or die(mysql_error()); if (mysql_num_rows($query) <= 0

我试图做的是通过在cookie(称为“标识”)中验证来检查用户的Id

这是我的密码:

if(!$noCookie) {

$sql = "SELECT * FROM `". TABLE_PREFIX ."_logged` WHERE `logged_cookie` = '". $usersCookie ."' LIMIT 1";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query) <= 0) {
    echo 'yes cookie';

    $row = mysql_fetch_array($query) or die(mysql_error());
    print_r($row);

    while ($row=mysql_fetch_array($query)) {
        echo $usersId = $row["logged_user_id"];
    }
} else {
    echo 'no cookie';
}
}
if(!$noCookie){
$sql=“从“.”表中选择*前缀。“\u logged`WHERE`logged\u cookie`=”。$usersCookie。“'LIMIT 1”;
$query=mysql\u query($sql)或die(mysql\u error());

如果(mysql_num_rows($query)因为没有行,所以没有要获取的内容

if (mysql_num_rows($query) <= 0) {

if(mysql\u num\u rows($query)0

mysql\u num\u rows($query)
计算为0或更少时,您只运行
mysql\u fetch\u数组
,即没有行

也许你的意思是:

if (mysql_num_rows($query) > 0) { // <-----
    echo 'yes cookie';

    $row = mysql_fetch_array($query) or die(mysql_error());
    // ...
}
else {
    echo 'no cookie';
}

if(mysql\u num\u rows($query)>0){//请阅读
mysql\u fetch\u array
的手册条目,以便更好地理解该函数的功能:-请记住:一旦获取了一行,它将跳到下一行,如果没有更多行,则返回false。谢谢大家,我没有意识到这是错误的
if(!$noCookie) {

$sql = "SELECT * FROM `". TABLE_PREFIX ."_logged` WHERE `logged_cookie` = '". $usersCookie ."' LIMIT 1";
$query = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($query) > 0) {
    echo 'yes cookie';

    $row = mysql_fetch_array($query) or die(mysql_error());   
    foreach ($row as $r)
       echo $r["logged_user_id"];
} else {
    echo 'no cookie';
}
}