2010-07-05 47 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