PHP で MySQL 整数フィールドが文字列として返される
この問題は、PHP を使用して MySQL データベースからデータを取得するときに発生します。データベースで定義されているデータ型に関係なく、PHP ではデフォルトでデータが常に文字列として返されます。この矛盾は、特に整数フィールドがそのように動作することを期待している場合に不可解になる可能性があります。
特定のケースでは、データベース フィールドの userid が INT(11) として宣言されており、データはクエリを使用して取得されます。
"SELECT userid FROM DB WHERE name='john'"
結果を処理するには、次を使用します:
$row=$result->fetch_assoc(); $id=$row['userid'];
ただし、データ型をチェックするときはecho gettype($id); を使用して $id を取得すると、「整数」ではなく「文字列」が返されます。
解決策
この問題を解決するために、PHP はメソッドを提供します取得した文字列データを整数形式に変換します。次のコードを使用できます:
$id = (int) $row['userid'];
または、intval() 関数を使用することもできます:
$id = intval($row['userid']);
この変換を実行すると、$id 変数が整数データ型として正しく認識され、整数としての適切な処理と操作が可能になります。
以上がMySQL の整数フィールドが PHP で文字列として返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。