2010-06-21 6 views
0

J'ai une variable dans une fonction php qui est transmise à une requête SQL. Je me demande comment j'ajoute "et" de chaque côté sans vraiment le transformer en une chaîne?Ajout de guillemets à une variable

Merci.

+1

Le séparateur pour les chaînes dans SQL est ' '', 'pas "'Voir aussi http://stackoverflow.com/questions/1555434 – Artefacto

Répondre

3

Si vous le pouvez, vous devriez vraiment vous pencher sur l'utilisation des instructions préparées. En PHP, les bibliothèques mysqli et PDO les supportent. Cela vous permet de créer des espaces réservés dans vos requêtes, puis de leur lier des valeurs sans avoir à manipuler le texte SQL lui-même. En faisant cela, vous vous épargnerez des soucis en termes de mise en forme SQL et vous vous protégerez également contre les trous d'injection SQL accidentels en n'ayant plus à vous souvenir d'échapper des chaînes.

2

Pour répondre à votre question:

$name = "Peter"; 
$query = " SELECT * FROM table WHERE name LIKE '$name' "; 

Tous les commentaires/réponses précédentes à votre question sont valables et doivent être pris en compte. Rappelez-vous toujours que les instructions préparées sont bonnes si vous voulez éviter les problèmes liés à l'injection SQL.

+2

$ name =." Peter ", $ name_safe = mysql_real_escape_string ($ name, $ db_conn); $ query = "SELECT * FROM table WHERE nom LIKE '$ name_safe'"; – Pete

Questions connexes