2010-07-05 48 views
1

但是我不能完全理解它,特別是從LIMIT短語開始。謝謝你的幫助。PHP-MySQL查詢 - 請解釋一下

$sql = sprintf ("SELECT * 
        FROM $tbl_name 
        WHERE title LIKE '%s' OR description LIKE '%s' 
        LIMIT $start, $limit", 
         mysql_real_escape_string('%'.$search_term.'%'), 
         mysql_real_escape_string('%'.$search_term.'%')); 

回答

1

LIMIT關鍵字,您可以選擇記錄「頁」,例如,當你想記錄26到50 sprintf函數需要用佔位符(%S等)和變量插入字符串那些佔位符。這是否清理了事情?

+0

謝謝你回答這個問題。是的,現在更清楚了。 – dave 2010-07-05 21:41:02

1

sprintf函數將第一個參數作爲字符串抓取,正如Fosco已經解釋的那樣 - %s的基本佔位符(%s用於字符串,還有其他縮寫,但現在不能進入) 。除了sprintf函數的第一個參數之外,其他所有函數都像佔位符的替換內容。第一個參數(跳過實際的第一個字符串,如果你願意,將它作爲第二個參數)用適當的內容替換第一個佔位符,第二個(實際的第三個)參數將替換第二個佔位符等等。

第二個和第三個參數中的%字符在SQL查詢中的作用類似於any character字符。基本上它所做的是允許搜索詞在任何字符之間。如果第二個參數看起來像'%'.$search_term,它將只允許在搜索詞前面的字符,但不能在後面。

Fosco也很好地解釋了LIMIT的用法我想,因此我沒有深入到那個特定區域。

+0

謝謝你,克里斯,爲這個擴展響應。事實非常明確。 – dave 2010-07-05 21:42:07

+0

不客氣。我很高興我能幫上忙! :) – eklundchristopher 2010-07-06 14:05:30