Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql_query para PDO e instruções preparadas


O PHP fornece algumas funções de conveniência que fazem muitas coisas que você está fazendo manualmente.
  • O PDO suporta parâmetros nomeados em suas instruções SQL, para que você possa passar uma matriz de chave/valor em que as chaves correspondam aos seus espaços reservados de parâmetro nomeados.
  • O join() A função é muito útil para construir listas separadas por vírgulas.
  • Existem muitas funções para manipular arrays .
  • Algumas funções permitem que você dê um retorno de chamada (que pode ser um closure no PHP 5.3), para processar arrays dinamicamente.

Exemplo (não testado):
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);
}