0

oop を使用して初めてデータベースに接続しましたが、すぐに問題が発生しました。以下は、苦労しているコードです。

$q = 'SELECT * FROM test';
       $sqli->query($q);

       if($sqli->query($q)){
           echo "worked";               
       }

       if($sqli->error){
           echo $sqli->error;
       }

データベースへの接続時にエラーがないかチェックしましたが、正常に動作しますが、このクエリを実行しても出力が得られません。なぜですか? エラーまたは「機能」を期待していましたが、どちらも取得していません。

何が起こっていますか?

4

3 に答える 3

0

役立つように、ソース コードにいくつかのコメントを入れました。

   $q = 'SELECT * FROM test';
   //$sqli is the result of a 
   //new mysqli("localhost", "user", "password", "database");
   $resource = $sqli->query($q); // this returns a resource or false

   if(!$resource) {
       echo $sqli->error;
       die; // do not process further
   }

   // process the results
   $rows = $resource->fetch_all();
   if ($rows) {  // check if there are rows 
     echo "worked";               
   }
   else {
     echo "query is ok, but there are no rows"; 
   }
于 2012-09-21T19:46:40.447 に答える
0

出力用のオブジェクトを返す $resource->fetch_object() を使用することもできます。したがって、結果セットから特定のデータを出力したい場合は、次のようにします。

//table test.Name and test.Country
while ($rowobj = $resource->fetch_object()){
          printf ("%s (%s)\n", $rowobj->Name, $rowobj->Country);
        }

幸運を、

于 2012-09-21T20:26:13.143 に答える