Je construis une fonction de base, qui construit des clauses Mysql WHERE en fonction du nombre de clauses dans la matrice.Suppression du dernier mot de la boucle FOREACH
$array = array('id' => '3', 'name' => 'roger');
$sql = "SELECT * FROM table WHERE ";
foreach ($array as $k => $v) {
$sql .= $k . ' = ' . $v . ' AND ';
}
qui sortira
SELECT * FROM table WHERE id = 3 AND name = roger AND
Cependant, évidemment, je ne veux pas que la dernière et, comment puis-je faire pour le retirer de la chaîne?
Merci
Est-ce que $ array sera toujours rempli d'une manière qui exclut l'injection SQL? N'auras-tu pas besoin de citations autour de Roger dans la sortie? –
Afin de rendre la question succincte, je n'ai pas inclus de mesures de sécurité, évidemment toutes les données avant d'être entrées dans la base de données seront vérifiées. – Stoosh