2011-04-16 189 views

回答

1

%s是在函數中使用像sprintf的佔位符。查看手冊以瞭解其他可能的佔位符。

$sql = sprintf($sql, "Test"); 

這將用字符串「Test」替換%s。它也用於確保傳遞的參數實際上符合佔位符。你可能使用%d作爲數字的佔位符,但是如果sprintf會收到一個字符串,它會發出抱怨。

10

這是一個格式化的字符串,其中%s是佔位符。我懷疑$ sql是交給sprintf將它轉換成一個真正的查詢。例如:

$name = 'posts'; 
$sql = "SELECT * FROM page_table WHERE page_name = '%s' LIMIT 1"; 
$formattedSql = sprintf($sql, $name); 

這將生成一個查詢看起來像:

SELECT * FROM page_table WHERE page_name = 'posts' LIMIT 1 

這是當你不想擺弄引號和雙引號是非常有用的。

+0

良好的通話,我將不得不用'LIKE「一讀%s''困惑它。 – briantyler 2011-04-16 13:54:47

1

我猜%s是sprintf的格式符號。

的下一行代碼可以是某物那樣:

$sqlquery = sprintf($sql, 'mySearchString'); 

實時查詢將是:

SELECT * FROM page_table WHERE PAGE_NAME = 'mySearchString' LIMIT 1

0

我們使用%s作爲字符代碼,因爲ASCII 65是'A',所以直到91'Z'才能更好地理解,您可以使用for循環從65開始到91這個for循環打印結果使用printf

for($i=65; $i<91; $i++){ printf('%s ', chr($i)); }

以上將打印

A B C d E F G H I J K L M N 2 O P Qř式T U V W X YŽ