php – 没有显示MySQL查询结果的第一行

以下 PHP代码工作正常,尽管一个非常奇怪的行为.第一项始终被排除在外.让我用一个例子说清楚.想象一下,我在db中为列srl_loc提供了以下项目:

>巴黎(75)
>巴黎(75001)
>巴黎(75002)
>巴黎(75003)

如果$term =“Paris”,那么第一个项目“Paris(75)”将被省略输出. PHP文件显示以下内容

>巴黎(75001)
>巴黎(75002)
>巴黎(75003)

希望有人能提供帮助.提前感谢您的回复.干杯.马克.

我的PHP

<?PHP
header('Content-Type: text/html; charset=utf-8');
require("../inc/connect.inc.PHP");
MysqL_set_charset('utf8'); 

$term = MysqL_real_escape_string($_GET['term']);
$result = MysqL_query('SELECT * FROM search_loc WHERE srl_loc LIKE "' . $term . '%"');

$row=MysqL_fetch_assoc($result);

$return = array();
while($row=MysqL_fetch_assoc($result)){
    array_push($return,array('value'=>$row['srl_loc']));}

echo(json_encode($return));
?>
你在$return =之前调用MysqL_fetch_assoc两次,然后每次循环调用一次.第一个被丢弃,因此丢失了一行.

所以,它应该是:

<?PHP
header('Content-Type: text/html; charset=utf-8');
require("../inc/connect.inc.PHP");
MysqL_set_charset('utf8'); 

$term = MysqL_real_escape_string($_GET['term']);
$result = MysqL_query('SELECT * FROM search_loc WHERE srl_loc LIKE "' . $term . '%"');

$return = array();
while($row=MysqL_fetch_assoc($result)){
    array_push($return,array('value'=>$row['srl_loc']));}

echo(json_encode($return));
?>

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...