Comment dois-je écrire PHP $_POST vars dans un mysql_query fonction?

À accéder à ma base de données, j'ai à l'utilisateur de remplir un formulaire, et dans la page cible, la posté valeurs sont utilisées dans la requête MySQL.

$query = mysql_query("SELECT pass FROM database WHERE user='$_POST[user]'");

Cependant, pour une raison ou une autre, MySQL n'aime pas mon à l'aide d'un $_POST variable dans la commande, et il ne fonctionne que si je définis (par exemple) $user = $_POST['user'];, puis mettre $utilisateur directement dans la commande SQL.

Sur l'autre main, je peux utiliser $_POST valeurs dans les états d'INSERTION des noms de colonnes ne sont pas nécessaires:

$query = mysql_query("INSERT INTO database VALUES ('foo', 'bar', '$_POST[user]'");

Si j'essaie une instruction INSERT, où les attributs sont définis (par exemple,user='foo'), puis le même problème apparaît.

Ce que j'ai fait une erreur dans ma requête SQL, la commande d'erreur lorsque vous exécutez, mais fonctionne avec la méthode de la mise en forme d'un INSERT de commande?

Espérons-le, ce n'est pas "pas de chance, on dirait que vous avez à céder l'ensemble de votre posté valeurs". Heh.

OriginalL'auteur Julian H. Lam | 2010-01-20