J'ai cette requête mysql:Php mysql, l'aide de requêtes d'aide variables
UPDATE `table`.`wp_12_postmeta`
SET `meta_value` = 'yyy'
WHERE `wp_12_postmeta`.`meta_id` =5
LIMIT 1 ;
Comment puis-je intégrer ceci:
- au lieu de
wp_12_
je veux une$prefix
variable (variable contient wp_4_, wp_3_, etc) - au lieu de
yyy
je veux une valeur$perf
(variable est un nom) - au lieu de
5
je veux une valeur$meta_id
(variable est un nr)
Merci!
P.S.
ici est ce que je l'utilise et il fonctionne:
$wpdb->query("UPDATE ".$prefix."postmeta SET meta_value = '".$perf."' WHERE meta_id = '".$meta_id."' LIMIT 1 ");
Le problème est, quand j'exécute cette requête, les champs après severl meta sont mis à jour, au lieu d'un seul. Ty
Si vous échapper pas le préfixe $? – Codeacula
@Codeacula: Le préfixe $ est une chaîne que j'ai codée en dur dans l'exemple ci-dessus. Cela ne vient pas d'une source non fiable. D'ailleurs, quelle fonction suggéreriez-vous que j'utiliserais pour échapper à un back-tick? Certes, mysql_real_escape_string() ne le fait pas. –
Vous l'avez codé en dur, oui, mais je serais prêt à parier que le PO utiliserait le code tel quel, et ce préfixe $ finirait probablement par être changé par qui sait quelle source. Et c'est peut-être la paranoïa qui me pousse à désinfecter chaque variable provenant de l'entrée de l'utilisateur. Pour chacun leur, je suppose. – Codeacula