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

%s%d là gì?Truy vấn MySQL PHP với% s và% d

+2

Sử dụng sprintf() là nhỉnh hơn so với chuỗi nối. Tuy nhiên, để có một cách tiếp cận mạnh mẽ hơn, bạn nên xem xét các câu lệnh _Prepared_ – kizzx2

Trả lời

20

Đó là các ký hiệu định dạng được sử dụng, ví dụ: bởi sprintf(). Ví dụ:

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

Output:

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