-3

可能重复:
mysql_fetch_array() 期望参数 1 是资源,选择中给出的布尔值

有人能帮我吗。我将 div 设置为仅在帐户类型为“付费”的用户登录时显示。

它工作正常,当“付费”用户登录 div 显示时,否则如果用户已注销,它会出现此错误消息,我不知道为什么?

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /Applications/XAMPP/xamppfiles/htdocs/PTB1/includes/mod_profile/mod_star_rating/mod_rating.php on line 116

代码:

<?php

$account_type = account_type();
while ($acctype = mysql_fetch_array($account_type)) 


 if ($acctype['account_type'] == 'paid')  {
     if (logged_in()) { ?>
    <div class="rate-button">can rate</div><?


 } 
 ?>

这是我的帐户类型功能:

function account_type() {
            global $connection;
            global $_SESSION;
            $query = "SELECT account_type
                        FROM ptb_users
                        WHERE id = ".$_SESSION['user_id']." ";
            $account_type = mysql_query($query, $connection);
            confirm_query($query, $connection);
            return $account_type;
        }
4

2 回答 2

1
$acctype = mysql_fetch_array($account_type);

属于之后

 $account_type = mysql_query($query, $connection);

其次是

return $acctype;

主脚本应为: $acc_type = account_type(); 而不是

while
于 2012-12-19T16:17:22.820 回答
0

以 mysql_ 开头的函数已弃用,应替换为 mysqli 或 PDO。

$account_type 可能是错误的,可以解释您的错误。您将需要添加一些检查,以便获得 mysql_error() 的结果。

你会想做这样的事情:

if(!$account_type) {
  die(mysql_error());
}
于 2012-12-19T16:16:33.117 回答