どのようなパラメータを設定する必要がありますか? ?
このデザインは何に基づいていますか? ? ?それはちょっとしたチートです
ディスカッションへの返信 (解決策)
パラメータを渡すときに、その型を設定する必要があります。もちろん、-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 があることがわかりました。

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

tostoreauser'snameInappession、starthessession withsession_start()、thensignthenameto $ _session ['username']。1)ousession_start()toinitializethessession.2)assighttheuser'snameto $ _ session ['username']

PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

ホットトピック









