Mysql
 sql >> Database >  >> RDS >> Mysql

mysql_query su PDO e istruzioni preparate

PHP fornisce alcune funzioni utili che fanno molte delle cose che stai facendo a mano.

  • PDO supporta parametri denominati nelle tue istruzioni SQL, in modo da poter passare una matrice chiave/valore in cui le chiavi corrispondono ai segnaposto dei parametri con nome.
  • Il join() La funzione è molto utile per creare elenchi separati da virgole.
  • Esistono molte funzioni per manipolare array .
  • Alcune funzioni consentono di effettuare una richiamata (che può essere una chiusura in PHP 5.3), per elaborare gli array in modo dinamico.

Esempio (non testato):

function insertFields($fields) {
    $columns = join(",", array_map(
        function($col) { return "`".preg_replace("/`/gu","``",$col)."`"}, 
        array_keys($fields)));

    $params = join(",", array_map(
        function($col) { return ":".preg_replace("/[`\s]/gu","",$col)},
        array_keys($fields)));

    $stdquery = "INSERT INTO masteridx ({$columns}) VALUES ({$params})";
    $stmt = $pdo->prepare($stdQuery);
    $stmt->execute($fields);
}