入力内容を整形し、クエリ内でリテラルとして安全に使用できるようにします。 リテラルとは文字列や数値のことで、SQL 文の WHERE、SET および VALUES 句で使用できるものです。
返される整形結果は、入力の PHP データ型 および使用しているデータベースの型に依存します。
mixed - 整形された結果が返されます。
整形結果は、入力の PHP 型に依存します。
入力の型 -> 返り値
NULL -> 文字列 NULL。
integer あるいは float -> クォートされない数値。
boolean -> 使用しているドライバに依存します。
ほとんどのドライバでは、true の場合に 1、false の場合に 0 を返します。 中には、true の場合に文字列の TRUE、 false の場合に文字列の FALSE を返すものもあります。また、 true の場合に文字列の T、 false の場合に文字列の F を返すものもあります。以下に、各 DBMS についての返り値およびカラム型を 示します。
dbase -> T/F (Logical)
fbase -> TRUE/FALSE (BOOLEAN)
ibase -> 1/0 (SMALLINT) [1]
ifx -> 1/0 (SMALLINT) [1]
msql -> 1/0 (INTEGER)
mssql -> 1/0 (TINYINT)
mysql -> 1/0 (TINYINT(1))
mysqli -> 1/0 (TINYINT(1))
oci8 -> 1/0 (NUMBER(1))
odbc -> 1/0 (SMALLINT) [1]
pgsql -> TRUE/FALSE (BOOLEAN)
sqlite -> 1/0 (INTEGER)
sybase -> 1/0 (TINYINT)
[1] BOOLEAN に対応していないバージョンが存在するため、 より無難なほうに対応させています。
その他 (文字列や、数値形式の文字列を含む) -> DBMS 固有の方法でエスケープされた文字列 ( escapeSimple() を使用します) の前後を単一引用符で囲んだもの。
例 39-1quoteSmart() の使用法
|