2016-12-22 18 views
0

私が探しているのは、PHPの値がで、NULLがであり、MySQLがPDOで取得したものです。
は、私は約PDO :: PARAM_NULLを見つけたが、それはPDO :: NULL_NATURALPDO :: NULL_EMPTY_STRING & PDO :: NULL_TO_STRINGではなく、それを何についてのMySQLにと定数についてのデータを挿入することです。コードの
例:CountryObjectNULL MySQLからPHP PDO

私がNULL可能フィールドf_iconが満たされているかどうかを知る必要があり
class CountryObject { 
    private $_f_id; 
    private $_f_icon = null; 
    private $_f_name; 
} 

class CountryManager{ 
    public function getAll() { 
     $countries = [ ]; 

     $query = $this->_db->query ("SELECT f_id, f_icon, f_name FROM t_country ORDER BY f_name;"); 

     while ($data = $query->fetch (PDO::FETCH_ASSOC)) 
      $countries [] = new CountryObject ($data); 

     return $countries; 
    } 
} 

、そして私のDB内のすべての私のヌル値を許可するフィールドのと同様。

答えて

0

PDOで取得するMySQLのPHPの値はnullです。

オブジェクトを間違ってインスタンス化しているとします。私はあなたにthatboth PDOとMySQLは常にすべての権利NULLを返すことを証明することができます私の記事、Fetching objects with PDOを、提案してみましょう:

class CountryObject { 
    private $_f_id; 
    private $_f_icon = null; 
    private $_f_name; 
} 
$obj = $pdo->query("SELECT 1 as _f_id, null as _f_icon, 'name' as _f_name") 
      ->fetchObject('CountryObject'); 
var_dump($obj); 

戻り

object(CountryObject)#4 (3) { 
    ["_f_id":"CountryObject":private]=> 
    string(1) "1" 
    ["_f_icon":"CountryObject":private]=> 
    NULL 
    ["_f_name":"CountryObject":private]=> 
    string(4) "name" 
} 
+0

を私は忘れてしまったが、私はのvar_dumpを作った、ので、あなたが、よろしいです私が持っていたものと、f_iconのレコードが* NULLであるかどうかを調べるための戻り値については、0だった(文字列かintかを覚えていない)。 –

+0

私は確かであるかどうか尋ねる必要はありません。ちょうどこのコードを実行し、自分自身を参照してください。 –

+0

申し訳ありませんが、私のせいで、おそらく他の場所で間違いだったので、あなたのコードなどをテストしました。 –