Pdo がすべての int 型を string 型に変換するのはなぜですか? 変換しないようにすることはできますか? ? ?
どのようなパラメータを設定する必要がありますか? ?
このデザインは何に基づいていますか? ? ?それはちょっとしたチートです
ディスカッションへの返信 (解決策)
パラメータを渡すときに、その型を設定する必要があります。もちろん、-1 に設定することもできます。パラメータを渡すときにそれを設定するには、もちろん-1を設定できますか?サンプルコードを教えてください。あるいは、アドレスを説明できる場所なぜ Pdo はすべての int 型を string 型に変換するのか
このコードは、bindParam を参照しているのでしょうか?
異なるアプリケーション間でデータを交換する場合、テキストのみ転送できます。
なぜ Pdo はすべての int 型を string 型に変換するのでしょうか
異なるアプリケーション間でデータを交換する場合、転送できるのはテキストのみです。
PHP はコンテキストに応じてデータ型を自動的に変換することしかできないということですか?ご心配なく
異なるアプリケーション間でデータをやり取りする場合、転送できるのはテキストのみです。
何を理解したいのかわかりません
自分で型を変換することしかできないということですか?
ライブラリから出てくるものはすべて文字列です
PHP はコンテキストに従ってデータ型を自動的に変換します。気にする必要はありません
そして、両方を計算する必要がある場合、それは機能しません!
コードを見ていないので、ここで推測するのは非常に困難です。
コードを投稿してください
public function setGBK() { $sql = sprintf( "set names 'gbk'" ); $this->conn->exec( $sql ); } public function setBinary() { $sql = sprintf( "set character_set_client=binary" ); $this->conn->exec( $sql ); } public function doExec($sql){ $sql = sprintf($sql); $this->conn->exec( $sql ); } public function query( $sql, $param ) { if( empty( $sql ) || empty( $this->conn ) ) { return array(); } $result = $this->conn->prepare( $sql ); if ( false == $result->execute($param) ) { return array(); } $result->setFetchMode( PDO::FETCH_ASSOC ); $row = $result->fetch(); if( $row ) { return $row; }else { return array(); } } public function querys( $sql, $param ) { if( empty( $sql ) || empty( $this->conn ) ) { return array(); } $result = $this->conn->prepare( $sql ); if ( false == $result->execute($param) ) { return array(); } $result->setFetchMode( PDO::FETCH_ASSOC ); $rows = $result->fetchAll(); return $rows; }
false == を除いて、データ型に関連するものは何もありません
それに、 false == は false === として書く必要があります。本当に型に関連しているということ
false == を除いて、データ型に関連するものは何もありません
さらに、 false == は false === として書かれるべきであり、それは実際に型に関連しているということです
原理によれば、「1」== 1 しかし、ここで「1」==1 は false を意味します。false であるためには intval でなければなりません
これは問題ではありません
問題は、算術演算が「10」であることです- 5. 頭が痛いです、intval を強制するだけで大丈夫です
もしかしたら私のコードロジックに何か問題があるのでしょうか?
mysqli にはそのような問題はありません
mysql データベースから返されるクエリ結果 これらはすべてテキストであり、PHP はテーブル構造を認識しないため、文字列として扱われます。これは、mysqli と PDO の両方に当てはまります。
この質問はかなりひどいです。私も解決策を見つけていません。
array(PDO::ATTR_PERSISTENT => TRUE, PDO ::ATTR_STRINGIFY_FETCHES =>FALSE));
$db->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, FALSE);
$query = "SELECT `name`、`boss`、`rules`、` id` FROM `company`";
$r = $db->query($query);
$r->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, FALSE);
while ($row = $r- >fetch(PDO::FETCH_OBJ)) {
$row['id']; //type is string!!!! }
青いコードは自動的に文字列に変換しないように設定されていると言われています. しかし、うまくいきません。赤いコードを実行すると、サポートされていないことが直接表示されます。
PHP が自動的に型を変換してくれるなど、ナンセンスなことは言わないでください。 $row を JSON に変換し、それをすべて文字列型に変換したいのですが...
getColumnMeta(columnIndex) によって返される列のメタ情報は正しい型を持っていますが、2 つの問題があります:
1. 列インデックスを使用します。パラメータとしてカラム名を使用する代わりに、私の読みと常に矛盾します。 2. 公式ウェブサイトには、この機能を使用しないようにと記載されています。
この問題は正常に解決されました。報告してください。
まず、以前の MySQL では本当に解決できませんでした。文字列を外部システムに直接返します。少し新しい MySQL ドライバーとクライアント ドライバーは、文字列への内部変換を行わずに、ローカル型を直接変換できます。この基盤があれば、解決は可能です。
次に、PDO::ATTR_STRINGIFY_FETCHES は MySQL とは無関係です。PDO::ATTR_EMULATE_PREPARES (FALSE に設定) を使用して、MySQL 側に変換を実行しないように指示します。
最後に、もちろん PDO::ATTR_STRINGIFY_FETCHES を使用して、PHP に変換しないよう指示します。
この時点で、問題は解決されました。
JSON を変換するときにもこの問題に遭遇しましたが、後で json_encode() にパラメータ JSON_NUMERIC_CHECK があることがわかりました。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
