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

%s%dは何ですか?おそらく文字列10進整数ためformat symbolsある%sと%dのPHP MySQLクエリ

+2

はsprintfを使用しては()文字列の連結よりもわずかに優れています。ただし、より堅牢なアプローチの場合は、_ Prepared Statements_ – kizzx2

答えて

20

これらはフォーマットシンボルです。 by sprintf()。例:

<?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; 
?> 

出力:

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