gpt4 book ai didi

仅当使用限制时才显示 php 和 mysql 查询结果

转载 作者:行者123 更新时间:2023-11-29 12:26:35 24 4
gpt4 key购买 nike

为了了解更多 php、mysql 和 json,我从以下位置下载了一个演示数据库:http://www.mysqltutorial.org/wp-content/uploads/downloads/2013/05/mysqlsampledatabase1.zip .

我想显示所有客户,以便通过编辑和删除按钮以 html 表格格式回显它们。

我的SQL语句是

"SELECT * FROM customers" 

它不返回任何结果,也没有错误。但是,如果我将 SQL 语句更改为

"SELECT * FROM customers LIMIT 11" 

返回 122 行中的前 11 行。使用 1-11 的 LIMIT 将返回结果,而任何 12 或更多的值都会返回注释。

有人可以帮我解释一下吗?

更新:帮助代码。

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "classicmodels";
$dbh = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password) or die(mysql_error());
$sql = 'SELECT * FROM customers LIMIT 12' or die(mysql_error());
$stmt = $dbh->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
die();
?>

提前谢谢您,

背景

最佳答案

问题不在于您的 SQL 代码。如果

从客户中选择 * LIMIT 11

工作正常,所以也会正常工作

从客户中选择 * LIMIT 12

因此,您的 php 代码中可能存在错误。它要么无法正确处理检索到的第 12 条记录,要么由于某些其他原因无法处理 12+ 限制。您能用相关的 php 代码扩展问题吗?

编辑

要正确显示特殊字符,例如 Luleå 中的 å(您的第 12 条记录),您必须匹配数据库设置、数据库连接和输出中的字符集。

例如,如果您的数据库排序规则是 UTF-8,请在脚本中进行第一个查询SET NAMES 'utf8'。然后,在打印 json 之前,将 header 发送到浏览器(我假设您正在输出到浏览器): header('Content-Type: text/json; charset=utf-8');

通过正确配置数据库,SET NAMES 就会过时。

我发现一些有用的指南更详细地解释了这一点:

关于仅当使用限制时才显示 php 和 mysql 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222406/

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