問題タブ [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.
php - どの PHP / MySQL ドライバーまたはデータベース抽象化レイヤーがプリペアド ステートメントをサポートしていますか?
私は、デフォルトの PDO および PDOStatement クラスの拡張バージョンで構築されたプロジェクトに取り組んでおり、「?」の代わりに PDO スタイルの名前付きパラメーターを使用しています。変数のプレースホルダー。
しかし、クライアントは現在、別のドライバーの使用を検討するよう要求しています。これは、クライアントのバージョンの OS X Web サーバーには、このドライバーを簡単にインストールできないように見えるためです。では、PDO のように名前付きパラメーターを使用する現在の機能セットで簡単に拡張できる、他のデータベース抽象化ライブラリーまたはデータベース アクセス ドライバーを知っている人はいますか?
php - PHP PDOステートメントは、テーブルまたは列の名前をパラメーターとして受け入れることができますか?
準備された PDO ステートメントにテーブル名を渡すことができないのはなぜですか?
テーブル名を SQL クエリに挿入する別の安全な方法はありますか? 安全とは、やりたくないという意味です
php - PDO 準備済みステートメントから生の SQL クエリ文字列を取得する
準備されたステートメントで PDOStatement::execute() を呼び出すときに実行される生の SQL 文字列を取得する方法はありますか? デバッグ目的では、これは非常に便利です。
php - MySQL と PostgreSQL で PHP PDO DSN の形式が異なるのはなぜですか?
PDO を使用して MySQL データベースに接続する場合、次の方法で接続する必要があります。
ただし、PostgreSQL の場合、DSN はより標準的です (IMO):
MySQL が単一の文字列を使用できない理由はありますか? それとも、私が使用しているバージョン (PHP 5.2、MySQL 5.0、PostgreSQL 8.1) が原因なのでしょうか?
php - MySQL接続をPDO接続に変換できますか?
動作するDB接続を取得する方法が1つしかないアプリで作業しています。それは、MySQL接続リソースを返す関数です。
そのMySQL接続をPDOMySQL接続に変換する方法はありますか?
他の方法でMySQLサーバーにアクセスすることはできません。ユーザー名、パスワード、何もありません。関数が含まれているファイルも表示/取得できません。後でできるかもしれませんが、それでも可能かどうか知りたいです。
php - PHPでPDO/SQLite接続の文字エンコーディングを変更するには?
utf8 以外の文字列を実行し続ける php-gtk アプリに少し問題があります。データベースが UTF-8 であると想定されている場合でも、データベース接続に問題があることがわかりました。
「SET CHARACTER SET utf8」(MySQL の方法) と「SET NAMES UTF8」を試してみましたが、何も起こりません (「 SQLite が理解するクエリ言語 」ページにも、このコマンドに関する情報はありません。私はそれについて驚かない)。
PD: 接続はすでに UTF-8 で、データはそうではないかもしれませんが、接続のエンコードを変更する方法があれば、この質問は役に立ちます。
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 :
- 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) - 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.
php - PDO の結果を巻き戻すことはできますか?
PDO ステートメントからの結果の反復子を作成しようとしていますが、最初の行に巻き戻す方法が見つかりません。fetchAll を呼び出してすべての結果データを保存するオーバーヘッドを回避したいと考えています。
ステートメントをリセットしたり、最初の行を探したりする方法はありますか?
php - PDOStatement::bindParam data_type パラメータのリスト
で使用できるすべての data_type パラメータを説明したリストはありますPDOStatement::bindParam()
か? ない場合は、通常何を使用し、どのタイプのフィールドに使用しますか?
PHP マニュアルによると: data_type PDO::PARAM_* 定数を使用したパラメーターの明示的なデータ型。
PDO::PARAM_INT
とについて知っていPDO::PARAM_STR
ます。聞いPDO::PARAM_LOB
たことはありますが、それをいつどのように使用するかはわかりませんでした。(デート用?)
php - トランザクションがすでに開始されていることをどのように検出しますか?
Zend_Dbを使用して、トランザクション内にデータを挿入しています。私の関数はトランザクションを開始してから、トランザクションを開始しようとしてもちろん失敗する別のメソッドを呼び出します(MySQL5を使用しています)。したがって、問題は、トランザクションがすでに開始されていることをどのように検出するかです。コードのサンプルビットは次のとおりです。
PaymentInstrument :: createの内部には、トランザクションがすでに開始されていることを示す例外を生成する別のbeginTransactionステートメントがあります。