1. ホーム
  2. php

[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。

2022-01-25 08:22:38

質問

自分のウェブサイトを開こうとしているときに、あるMODがこのエラーを出すことに気づきました。

致命的なエラーです。Cannot use object of type mysqli_result as array in /var/www/vbsubscribetouser.php on line 303

303行目まで行ってみたところ、こんな感じです。

//Check if requested username can be followed.
if (in_array($followingdata['usergroupid'], explode("|", $vbulletin->options['subscribetouser_usergroups_cannot']))){

以下は、303行目から始まるすべてのコードです。

//Check if requested username can be followed.
if (in_array($followingdata['usergroupid'], explode("|", $vbulletin->options['subscribetouser_usergroups_cannot']))){
    exit;
}

if ($followinginfo[subscribers] > 0){
    $user_followers = $followinginfo[followers].$userinfo[userid].'|';
}
else{
    $user_followers = '|'.$userinfo[userid].'|';
}

$vbulletin->db->query_write("
    UPDATE " . TABLE_PREFIX . "user
    SET subscribers = subscribers + 1, `followers` = '$user_followers'
    WHERE userid = $followinginfo[userid]
");

私はphpコーディングの専門家ではないので、ウェブサイトを開く前にちょっとした手助けがあると助かります。何かお手伝いやご提案があれば教えてください。

ありがとうございました。

解決方法は?

<ブロッククオート

mysqli_result 型のオブジェクトを配列として使用できません。

使用方法 mysqli_fetch_assoc または mysqli_fetch_array を使用すると、結果の行を連想配列として取得することができます。

$query = "SELECT 1";
$result = $mysqli->query($query);
$followingdata = $result->fetch_assoc()

または

$followingdata = $result->fetch_array(MYSQLI_ASSOC);