【发布时间】:2015-03-29 03:11:18
【问题描述】:
为了了解更多 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();
?>
提前谢谢你,
背景
【问题讨论】:
-
LIMIT 1-11是什么意思?您想要所有客户还是第二页? -
为了比较: "SELECT * FROM customers" - 没有结果 "SELECT * FROM customers LIMIT #" - 如果 # 为 11 或更少则返回结果 "SELECT * FROM customers LIMIT #" - 如果没有结果# 为 12 或更大
-
这真的没有任何意义,这不是它应该如何工作的。
LIMIT 10将返回 0 到 10 个结果,具体取决于数据库中的数据量,它只是限制返回的行。我不知道为什么当您的记录不足时您看不到任何行。您确定此查询独立于 PDO 可以正常工作吗?您的代码中是否存在阻止其正常工作的错误?您需要仔细检查流程的每个步骤之间发生的情况。