問題タブ [pdo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
825 参照

php - どの PHP / MySQL ドライバーまたはデータベース抽象化レイヤーがプリペアド ステートメントをサポートしていますか?

私は、デフォルトの PDO および PDOStatement クラスの拡張バージョンで構築されたプロジェクトに取り組んでおり、「?」の代わりに PDO スタイルの名前付きパラメーターを使用しています。変数のプレースホルダー。

しかし、クライアントは現在、別のドライバーの使用を検討するよう要求しています。これは、クライアントのバージョンの OS X Web サーバーには、このドライバーを簡単にインストールできないように見えるためです。では、PDO のように名前付きパラメーターを使用する現在の機能セットで簡単に拡張できる、他のデータベース抽象化ライブラリーまたはデータベース アクセス ドライバーを知っている人はいますか?

0 投票する
8 に答える
91092 参照

php - PHP PDOステートメントは、テーブルまたは列の名前をパラメーターとして受け入れることができますか?

準備された PDO ステートメントにテーブル名を渡すことができないのはなぜですか?

テーブル名を SQL クエリに挿入する別の安全な方法はありますか? 安全とは、やりたくないという意味です

0 投票する
17 に答える
120685 参照

php - PDO 準備済みステートメントから生の SQL クエリ文字列を取得する

準備されたステートメントで PDOStatement::execute() を呼び出すときに実行される生の SQL 文字列を取得する方法はありますか? デバッグ目的では、これは非常に便利です。

0 投票する
4 に答える
17540 参照

php - MySQL と PostgreSQL で PHP PDO DSN の形式が異なるのはなぜですか?

PDO を使用して MySQL データベースに接続する場合、次の方法で接続する必要があります。

ただし、PostgreSQL の場合、DSN はより標準的です (IMO):

MySQL が単一の文字列を使用できない理由はありますか? それとも、私が使用しているバージョン (PHP 5.2、MySQL 5.0、PostgreSQL 8.1) が原因なのでしょうか?

0 投票する
1 に答える
1108 参照

php - MySQL接続をPDO接続に変換できますか?

動作するDB接続を取得する方法が1つしかないアプリで作業しています。それは、MySQL接続リソースを返す関数です。

そのMySQL接続をPDOMySQL接続に変換する方法はありますか?

他の方法でMySQLサーバーにアクセスすることはできません。ユーザー名、パスワード、何もありません。関数が含まれているファイルも表示/取得できません。後でできるかもしれませんが、それでも可能かどうか知りたいです。

0 投票する
1 に答える
28358 参照

php - PHPでPDO/SQLite接続の文字エンコーディングを変更するには?

utf8 以外の文字列を実行し続ける php-gtk アプリに少し問題があります。データベースが UTF-8 であると想定されている場合でも、データベース接続に問題があることがわかりました。

「SET CHARACTER SET utf8」(MySQL の方法) と「SET NAMES UTF8」を試してみましたが、何も起こりません (「 SQLite が理解するクエリ言語 」ページにも、このコマンドに関する情報はありません。私はそれについて驚かない)。

PD: 接続はすでに UTF-8 で、データはそうではないかもしれませんが、接続のエンコードを変更する方法があれば、この質問は役に立ちます。

0 投票する
2 に答える
81485 参照

php - PDO try-catch usage in functions

I'm thinking of using PDO in all of my future webapp. Currently (using what I've learned from SO so far), what I have in my site to handle database connection is a Singleton class like this :

and another file (functions.php) with content-specific functions looking exactly like this one :

meaning that I have to repeat the try .. catch part in all of the functions.

My questions are :

  1. How should I make that more efficient ? (eg. not having to repeat try..catch in all functions, and yet still able to return different "fail-message" on each one)
  2. Is this already a good practice ? I'm still new at PDO and OOP (still a lot more to learn), so (as of now), I can't really see any disadvantages or things that can be improved in there.

I'm sorry if that seems unclear or too long. Thanks in advance.

0 投票する
5 に答える
9730 参照

php - PDO の結果を巻き戻すことはできますか?

PDO ステートメントからの結果の反復子を作成しようとしていますが、最初の行に巻き戻す方法が見つかりません。fetchAll を呼び出してすべての結果データを保存するオーバーヘッドを回避したいと考えています。

ステートメントをリセットしたり、最初の行を探したりする方法はありますか?

0 投票する
1 に答える
17600 参照

php - PDOStatement::bindParam data_type パラメータのリスト

で使用できるすべての data_type パラメータを説明したリストはありますPDOStatement::bindParam()か? ない場合は、通常何を使用し、どのタイプのフィールドに使用しますか?

PHP マニュアルによると: data_type PDO::PARAM_* 定数を使用したパラメーターの明示的なデータ型。

PDO::PARAM_INTとについて知っていPDO::PARAM_STRます。聞いPDO::PARAM_LOBたことはありますが、それをいつどのように使用するかはわかりませんでした。(デート用?)

0 投票する
11 に答える
26724 参照

php - トランザクションがすでに開始されていることをどのように検出しますか?

Zend_Dbを使用して、トランザクション内にデータを挿入しています。私の関数はトランザクションを開始してから、トランザクションを開始しようとしてもちろん失敗する別のメソッドを呼び出します(MySQL5を使用しています)。したがって、問題は、トランザクションがすでに開始されていることをどのように検出するかです。コードのサンプルビットは次のとおりです。

PaymentInstrument :: createの内部には、トランザクションがすでに開始されていることを示す例外を生成する別のbeginTransactionステートメントがあります。