1
function random()
    {
    $anketadb = $this->load->database('anketa',TRUE);
    $br = $anketadb->count_all_results('anketadata');
    $nmb = mt_rand(1,$br);

    if ($nmb != 1){
    $nmb = $nmb - 1;
    }

    $count = $anketadb->get('anketadata', 1, $nmb);

    return $count;
    }

ビューでエコーするとこのコードがエラーを返す理由:

PHP エラーが発生しました

重大度: 4096

メッセージ: クラス CI_DB_mysqli_result のオブジェクトを文字列に変換できませんでした

ファイル名: ankete/rezultatiankete.php

ライン番号: 52

4

2 に答える 2

1

とにかく、使用している例では、より多くのコード(コントローラー、ビューなど)を表示する必要があります

return $count;

この場合$count;はオブジェクトであり、そのフィールドをエコーするには、次のようにビューでループする必要があります。

foreach ($count->result() as $row)
{
    echo $row->fieldname; // rerplace the fieldname with a real field/column name of your database
}

したがって、エコーしようとしている場合$countは、間違いを犯しています。これはオブジェクトです。詳細については、こちらをご覧ください

于 2012-10-19T08:55:25.110 に答える
0

echoprint_r(returned value)出力オブジェクト、配列に使用するオブジェクトでは機能しません

ランダムな列を取得するにはSELECT * FROM table ORDER BY RAND() LIMIT 0,1;

于 2012-10-19T08:48:10.793 に答える