php – 没有显示MySQL查询结果的第一行
发布时间:2020-12-13 13:48:29 所属栏目:PHP教程 来源:网络整理
导读:以下 PHP代码工作正常,尽管一个非常奇怪的行为.第一项始终被排除在外.让我用一个例子说清楚.想象一下,我在db中为列srl_loc提供了以下项目: 巴黎(75) 巴黎(75001) 巴黎(75002) 巴黎(75003) 如果$term =“Paris”,那么第一个项目“Paris(75)”将被省略输出. p
以下
PHP代码工作正常,尽管一个非常奇怪的行为.第一项始终被排除在外.让我用一个例子说清楚.想象一下,我在db中为列srl_loc提供了以下项目:
>巴黎(75) 如果$term =“Paris”,那么第一个项目“Paris(75)”将被省略输出. php文件只显示以下内容: >巴黎(75001) 希望有人能提供帮助.提前感谢您的回复.干杯.马克. 我的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)); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |