Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.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 从表中选择一系列行_Php_Mysql_Sql - Fatal编程技术网

Php 从表中选择一系列行

Php 从表中选择一系列行,php,mysql,sql,Php,Mysql,Sql,我对PHP和MySQL非常陌生。我正在尝试编写一个php脚本,但在从表中选择行时遇到了困难 最有效的代码是: $q_pages = $wpdb -> prefix . 'q_pages_table'; $q_kws = $wpdb->prefix . 'q_kws_table'; $sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' + 'FROM ' . $q_pages . ' as a1 ' + 'L

我对PHP和MySQL非常陌生。我正在尝试编写一个php脚本,但在从表中选择行时遇到了困难

最有效的代码是:

$q_pages = $wpdb -> prefix . 'q_pages_table';

$q_kws = $wpdb->prefix . 'q_kws_table';

$sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' +
       'FROM ' . $q_pages . ' as a1 ' +
       'LEFT JOIN ' . $q_kws . ' as a2 ON (a1.kw_id = a2.id)' + 
       'WHERE a1.draft_id = 4';
第三个命令是选择并连接变量$q_kws到变量$q_pages的列,前提是两个表中的kw_id和id之间存在匹配,并且草稿id=4

由于$sql变量3000行中有大量行,我想将$sql分解为3个变量,每个变量包含1000行,以便以后可以单独处理每个变量

有什么建议吗


感谢您

要选择特定范围,您必须使用limit[开始编号],[选择],因此在您的情况下,您可以选择前1000行,如下所示:

select [your select stuff]
limit 0, 1000
第二个是:

select [your select stuff]
limit 1000, 1000
第三个是

select [your select stuff]
limit 2000, 1000

限制中的第一个数字是它开始的行,第二个数字是在该行之后(包括该行)将被选择的行数。要选择特定范围,必须使用限制[开始编号],[选择],因此在您的情况下,选择前1000行,如下所示:

select [your select stuff]
limit 0, 1000
You can use limit in the query to retrieve a specific number of rows .

something like 
$start=0;
$end=1000;

$sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' +
       'FROM ' . $q_pages . ' as a1 ' +
       'LEFT JOIN ' . $q_kws . ' as a2 ON (a1.kw_id = a2.id)' + 
       'WHERE a1.draft_id = 4 limit ".$start.",".$end."'; 
第二个是:

select [your select stuff]
limit 1000, 1000
第三个是

select [your select stuff]
limit 2000, 1000
限制中的第一个数字是它开始的行,第二个数字是在该行之后并包括该行的行数,将被选择,例如:

You can use limit in the query to retrieve a specific number of rows .

something like 
$start=0;
$end=1000;

$sql = 'SELECT a1.post_id, a1.kw_id, a2.kw_name ' +
       'FROM ' . $q_pages . ' as a1 ' +
       'LEFT JOIN ' . $q_kws . ' as a2 ON (a1.kw_id = a2.id)' + 
       'WHERE a1.draft_id = 4 limit ".$start.",".$end."'; 
select * from table where rownum < 1000
例如:

select * from table where rownum < 1000

嗨,杰克,非常感谢你这么快的回复。我仍然不知道如何修改我的代码。你的SQL语句很好,你只需要有三个变量,它们与你现在拥有的$SQL变量相同,但是在每个变量的末尾附加我提到的限制。嗨,杰克,非常感谢你这么快的回复。我仍然不知道如何修改我的代码。您的SQL语句很好,您只需要有三个变量,它们与您现在拥有的$SQL变量相同,但是在每个变量的末尾附加我提到的限制内容。