Requête utilisant un tableau

Invité
Invité n'ayant pas de compte PHPfrance

30 mars 2005, 02:40

Bonjour,
J'ai un tableau défini de la façon suivante:
$Pacific = array('Alaska','California','Hawaii','Oregon');
Je soubaite ressortir le nombre d'enregistrements qui correspondent à ces États dans ma BDD:
$sql = "SELECT id FROM data WHERE Country='United States' AND State IN '$Pacific'";
Mais ça me retourne 0 ou un message d'erreur.
J'ai essayé avec IMPLODE mais ça ne marche pas plus:
$IM_Pacific = implode(",", $Pacific);
$sql = "SELECT id FROM data WHERE Country='United States' AND State IN '$IM_Pacific'";
Pourtant quand j'utilise directement les données, et ben ça marche!
$sql = "SELECT id FROM data WHERE Country='United States' AND State IN ('Alaska','California','Hawaii','Oregon')";
Merci de vos pistes.

Mammouth du PHP | 1885 Messages

30 mars 2005, 04:21

Essaie ceci:
$IM_Pacific = implode("','", $Pacific);
$sql = "SELECT id FROM data WHERE Country='United States' AND State IN ('$IM_Pacific')";
Vérifie que tes valeurs ne contiennent pas de ' ou bien qu'ils sont bien protégées avec la fonction mysql_escape_string()

;)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Invité
Invité n'ayant pas de compte PHPfrance

30 mars 2005, 04:35

Merci à toi. Ça marche Nickel!
RÉSOLU