2009-06-07 12 views
11
SELECT COUNT(*) AS test FROM %s WHERE id = %d AND tmp_mail <> '' 

Quels sont %s et %d?Requête PHP MySQL avec% s et% d

+2

En utilisant sprintf() est légèrement meilleure que la concaténation de chaîne. Pour une approche plus robuste cependant, vous devriez regarder _Prepared Statements_ – kizzx2

Répondre

20

Ce sont des symboles de format utilisés par ex. par sprintf(). Exemple:

<?php 
$sql_template = "SELECT COUNT(*) AS test FROM %s WHERE id = %d AND tmp_mail <> ''"; 
$sql_real = sprintf($sql_template, 'sometable', 12345); 
echo $sql_real; 
?> 

Sortie:

SELECT COUNT(*) AS test FROM sometable WHERE id = 12345 AND tmp_mail <> ''