Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MySQL查询——请解释_Php_Mysql - Fatal编程技术网

PHP MySQL查询——请解释

PHP MySQL查询——请解释,php,mysql,Php,Mysql,我遇到过这个,但我不能完全理解它,尤其是从限制短语开始。谢谢你的帮助 $sql = sprintf ("SELECT * FROM $tbl_name WHERE title LIKE '%s' OR description LIKE '%s' LIMIT $start, $limit", mysql_real_escape_

我遇到过这个,但我不能完全理解它,尤其是从限制短语开始。谢谢你的帮助

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

Limit关键字允许您选择记录的“页面”,例如,当您需要记录26到50时。sprintf函数接受一个带有占位符(%s等)的字符串以及要插入这些占位符的变量。这就清楚了吗?

函数将第一个参数作为字符串抓取,正如Fosco已经解释的那样,
%s
基本上是占位符(%s代表字符串,还有其他缩写,但现在不要讨论)。
sprintf
函数的第一个参数以外的所有参数都充当占位符的替换内容。第一个参数(跳过实际的第一个、字符串,如果愿意,将其作为第二个参数)将第一个占位符替换为正确的内容,第二个(实际的第三个)参数将替换第二个占位符,依此类推

第二个和第三个参数中的%字符与SQL查询中的
任何字符类似。基本上,它允许搜索词在任意字符之间。如果第二个参数看起来像
“%”。$search\u term
,则只允许搜索词前面的字符,而不允许后面的字符


Fosco也很好地解释了
LIMIT
的用法,我想,这样我就不会深入这个特定领域了。

谢谢你回答这个问题。是的,现在清楚多了。谢谢你,克里斯,谢谢你的回复。这是非常清楚的。