PHP-MySQL查询 - 请解释一下

时间:2010-07-05 02:53:05

标签: php mysql

跑过这个,但我无法理解它,特别是从LIMIT短语开始。谢谢你的帮助。

$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.'%') );

2 个答案:

答案 0 :(得分:1)

Limit关键字允许您选择记录的“页面”,例如,当您需要记录26到50. sprintf函数采用带占位符(%s等)的字符串和要插入这些占位符的变量。那清楚了吗?

答案 1 :(得分:1)

sprintf函数将第一个参数作为字符串抓取,而Fosco已经解释过 - %s基本上是占位符(%s用于字符串,还有其他缩写,但让现在不进入那个)。除sprintf函数的第一个参数之外的所有参数都像占位符的替换内容。第一个参数(跳过实际的第一个,字符串,如果你愿意,它是第二个参数)用适当的内容替换第一个占位符,第二个(实际的第三个)参数将替换第二个占位符,依此类推。

第二个和第三个参数中的%字符在SQL查询中的作用类似于any character字符。基本上它的作用是它允许搜索词在任何字符之间。如果第二个参数看起来像'%'.$search_term,它只会允许搜索词前面的字符,但不会在后面。

Fosco也很好地解释了LIMIT的用法,因此我没有深入到这一特定领域。

相关问题