svn: /phpdoc/ja/trunk/reference/pdo/pdo/ prepare.xml

[email protected] (Yoshinari Takaoka)
Newsgroups php.doc.ja
Message-ID <[email protected]>
mumumu                                   Thu, 20 Feb 2020 11:21:30 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=349243

Log:
Note that PDO parser supports backslash escapes

Cf. bug #79276.

Bug: https://bugs.php.net/79276 (Verified) PDO_API int pdo_parse_params() ignores any placeholder between two '\'
      
Changed paths:
    U   phpdoc/ja/trunk/reference/pdo/pdo/prepare.xml

Modified: phpdoc/ja/trunk/reference/pdo/pdo/prepare.xml
===================================================================
--- phpdoc/ja/trunk/reference/pdo/pdo/prepare.xml	2020-02-20 11:00:26 UTC (rev 349242)
+++ phpdoc/ja/trunk/reference/pdo/pdo/prepare.xml	2020-02-20 11:21:30 UTC (rev 349243)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 346459 Maintainer: takagi Status: ready -->
+<!-- EN-Revision: 349240 Maintainer: takagi Status: ready -->
 <!-- CREDITS: shimooka,mumumu -->
 <refentry xml:id="pdo.prepare" xmlns="http://docbook.org/ns/docbook">
  <refnamediv>
@@ -61,6 +61,18 @@
    ドライバの場合、名前もしくは疑問符形式のパラメータを他の適当な値に
    書き換えることも可能です。
   </para>
+  <note>
+   <simpara>
+    PHP 5.3.0 以降では、エミュレートされたプリペアドステートメントと、
+    名前パラメータやクエスチョンマークを書き換えるパーサは、[シングル|ダブル]クォート
+    に対して標準とは異なるエスケープをサポートしています。
+    これによって、バックスラッシュのすぐ後にクォートで終了するクエリは
+    そのままの形では認識されず、間違ったパラメータとして認識され、
+    実行されたときにプリペアドステートメントが失敗してしまいます。
+    回避策は、プリペアドステートメントのエミュレートをこの手のSQLクエリでは使わないようにしつつ、
+    ドライバによってサポートされているパラメータの書き換えを避けることです。
+   </simpara>
+  </note>
  </refsect1>
  <refsect1 role="parameters">
   &reftitle.parameters;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.