sql >> データベース >  >> RDS >> Mysql

新しいMysqliオブジェクトがNullです

    私もこの問題を抱えていて、それをデバッグしようとして夢中になりました。何らかの理由でmysqliオブジェクトにデータが入力されない場合がありますが、そのプロパティに直接アクセスすると、その背後にあるネイティブコードが実行されます。したがって、mysqliオブジェクト全体のvar_dumpはnullプロパティを示していますが、個別にアクセスするとそこにあります。 errornoがfalseであることが判明した場合は、予期していなかった空の結果セットを使用して有効なクエリを実行した可能性があります。これがお役に立てば幸いです。

    $mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);
    
    var_dump($mysqli);
    
    var_dump($mysqli->client_info);
    var_dump($mysqli->client_version);
    var_dump($mysqli->info);
    

    および出力:

    object(mysqli)[1]
      public 'affected_rows' => null
      public 'client_info' => null
      public 'client_version' => null
      public 'connect_errno' => null
      public 'connect_error' => null
      public 'errno' => null
      public 'error' => null
      public 'field_count' => null
      public 'host_info' => null
      public 'info' => null
    
    
    public 'insert_id' => null
      public 'server_info' => null
      public 'server_version' => null
      public 'stat' => null
      public 'sqlstate' => null
      public 'protocol_version' => null
      public 'thread_id' => null
      public 'warning_count' => null
    
    string 'mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $' (length=50)
    int 50008
    null
    int 0
    string 'localhost via TCP/IP' (length=20)
    string '5.5.20-log' (length=10)
    int 50520
    


    1. mysql:数値による列の参照

    2. 2つのMySQLデータベースを比較する

    3. 選択した結果を挿入スクリプトに変換する-SQLServer

    4. SQLAlchemyでシャーディングするために__tablename__を動的に設定しますか?