DB_common::quoteSmart()

DB_common::quoteSmart() – Formatte une entrée pour être utilisée de façon sécurisée

Synopsis

mixed quoteSmart ( mixed $in )

Description

Formatte une entrée pour être utilisée de façon sécurisée dans une requête. L'entrée peut être une chaîne de caractères ou des nombres à utiliser dans les clauses WHERE, SET et VALUES des requêtes SQL.

Le format retourné dépend du type PHP de l'entrée et du type de base de données utilisé.

Parameter

mixed $in

l'entrée à échapper

Return value

mixed - la donnée formattée

Le format du résultat dépend du type PHP de l'entrée :

  • Entrée -> résultat

  • NULL -> la chaîne de caractères NULL

  • integer ou float -> le nombre, non échappé

  • boolean -> le résultat dépend du driver utilisé

    La plupart des drivers retourne des entiers : 1 si true ou 0 si false. Quelques uns retournent des chaînes de caractères : TRUE si true ou FALSE si false. Finalement, un seul retourne des chaînes de caractères : T si true ou F si false. Voici une liste de chaque DBMS, la valeur retournée et le type de colonne suggéré :

    • 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] Adaptez au plus bas dénominateur commun car toutes les versions non pas forcément de BOOLEAN.

  • autre (incluant les chaînes de caractères ainsi que les chaînes numériques) -> une chaîne qui a été échappée d'une façon spécifique au DBMS (en utilisant la fonction escapeSimple()) et ensuite, entourée par des simples guillemets.

Note

This function can not be called statically.

La fonction est disponible depuis la version 1.6.0.

Example

Exemple avec quoteSmart()

<?php
// Vous devez avoir un objet DB valide nommé $db...
$name   "all's well";
$active true;
$sql    'SELECT * FROM clients WHERE name = '
          
$db->quoteSmart($name)
          . 
' AND active = '
          
$db->quoteSmart($active);

$res =& $db->query($sql);
?>
Formate une chaîne pour pouvoir l'utiliser en tant qu'identifiant (Previous) Annule la transaction courante (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.