gpt4 book ai didi

php - MySQL查询结果的第一行未显示

转载 作者:可可西里 更新时间:2023-11-01 07:46:43 26 4
gpt4 key购买 nike

下面的php代码运行良好,尽管有一个非常奇怪的行为。第一项总是被遗漏了。让我举个例子来说明。假设我的数据库中有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));
?>

最佳答案

您将调用mysql_fetch_assoc两次,在$return=之前调用一次,然后每次循环调用一次。第一个正在被丢弃,因此丢失了一行。
所以,应该是:

<?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));
?>

关于php - MySQL查询结果的第一行未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9318302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com