データ型の指定

Posted by muchag | Flash Builder 4,PHP | 2010-07-21 (水) 16:02:17

FB4 を使い始めた頃に、「戻り値の設定」でデータ型を取得するのにはまった。
Flash Builder 4 -> PHP&MySQLとの連携

FB4 による自動生成の mysqli 用コードではちゃんとデータ型が取得できるのに
PDO だとできないなんて~!!

最初は諦めたけど、やっぱり気になって色々と試していたら、データ型を取得できるようになった。
 

お手本

自動生成の mysqli 用コードを見ていると、こんな箇所がある。

  1. while (mysqli_stmt_fetch($stmt)) {
  2.     $rows[] = $row;
  3.     $row = new stdClass();
  4.     mysqli_stmt_bind_result($stmt, $row->id, $row->name);
  5. }

何か変なコードに見えるが、一部抜粋なので気にしない。 😎

無論、これでデータ型を指定できているとは思えないが
これを見習って、DB からの取得結果を 新たな配列に入れ直す方法 を思いついた。
 

PDO 用
  1. $rows = getAll($sql, $param);
  2.  
  3. $myRows = array();
  4. foreach ($rows as $key => $val) {
  5.     $row = new stdClass();
  6.     $row->id   = (int)$val->id;
  7.     $row->name = (string)$val->name;
  8.  
  9.     $myRows[] = $row;
  10. }

データを入れ直すときに 各々の適切な型にキャストしてやる のがポイント。

これで無事に「戻り値の設定」でデータ型を取得できた。 😆

Flash Builder 4,PHP | 2010-07-21 (水) 16:02:17 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment