10

私のPDOフェッチは、すべてを文字列として返します。

id(int)とusername(varchar)のユーザークラスがあります。

次のSQLリクエストを試すと

$db->prepare('SELECT * FROM users WHERE id=:id_user');
$db->bindParam(':id_user', $id_user);
$db->execute();
$user_data = $db->fetch(PDO::FETCH_ASSOC);

var_dump($ user_data)の場合、idパラメーターは文字列です。PDOがmysqlからの正しいデータ型を尊重するようにするにはどうすればよいですか?

4

1 に答える 1

3

別のfetch_styleを使用できます。Userクラスがある場合は、 PDOにUserクラスのインスタンスを返すように強制できます。

$statement->fetchAll(PDO::FETCH_CLASS, "User");

これで、プロパティの検証と、それが属するUserクラス内でのキャストを処理できます。

関連している:

于 2013-03-17T19:13:38.783 に答える