Construire la requête d'insertion à partir de la matrice de MySQL et PHP

Je suis en train d'écrire un petit service web en PHP et j'ai un peu de mal à obtenir ma tête autour de l'hypothèse suivante.

Mon plan est d'être en mesure d'envoyer un tableau de données à une fonction, qui serait alors de construire une requête MySQL pour fonctionner. Dans le tableau, j'plan pour que la clé soit le nom de la colonne, et la valeur à la valeur de pénétrer dans les colonnes.. c'est à dire

$myData = array('userName'=>'foo','passWord'=>'bar');
$myClass = new users();

$myClass->addUser($myData);

Puis, dans ma fonction j'ai actuellement:

function addUser($usrData){
   foreach($usrData as $col => $val){

      //This is where I'm stuck..

   }
}

En gros, je me demande comment je peux séparer les clés et les valeurs de façon à ce que ma requête devient:

INSERT INTO `myTable` (`userName`,`passWord`) VALUES ('foo','bar');

Je sais que je pourrais probablement faire quelque chose comme:

function addUser($usrData){
   foreach($usrData as $col => $val){
      $cols .= "," . $col;
      $values .= ",'".$val."'";
   }
}

Mais je pensais qu'il pouvait être une solution plus élégante.

C'est probablement quelque chose de vraiment simple, mais je n'ai jamais rencontré cela avant, donc je serais reconnaissant pour toute l'aide et la direction..

Merci,

Dave

OriginalL'auteur Dave | 2011-08-13