Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql_query à PDO et instructions préparées

PHP fournit un certain nombre de fonctions pratiques qui font beaucoup de choses que vous faites à la main.

  • PDO prend en charge les paramètres nommés dans vos instructions SQL, afin que vous puissiez ensuite transmettre un tableau clé/valeur où les clés correspondent à vos espaces réservés de paramètres nommés.
  • Le join() La fonction est très utile pour créer des listes séparées par des virgules.
  • De nombreuses fonctions existent pour manipuler les tableaux .
  • Certaines fonctions vous permettent de donner un rappel (qui peut être une fermeture en PHP 5.3), pour traiter dynamiquement les tableaux.

Exemple (non testé) :

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);
}