我写了一个简单的(测试)程序,它只返回 1 行,这是为什么呢?
SELECT *
FROM service
该过程执行得很好,只是显示的结果只包含第一行而不是所有表记录。
我写了一个简单的(测试)程序,它只返回 1 行,这是为什么呢?
SELECT *
FROM service
该过程执行得很好,只是显示的结果只包含第一行而不是所有表记录。
好吧,我只是偶然解决了 :) 希望有一天有人会需要:
创建过程后,phpMyAdmin 中“例程”选项卡中的“执行”图标不起作用,仅返回表中的 1 条记录。我下载了最后一个3.5.5版本,问题也是一样。
实际上,该过程本身运行良好,只需使用 SQL 选项卡并手写调用它:
call myProcedure
这就是所有人:)
确保您的测试程序执行了commit
.
根据您运行 MySQL 语句的方式,您可能有也可能没有隐式commit
. Phpmyadmin 隐式执行此操作commit
。但是如果您的测试程序是通过其他方式运行的,例如 PHP 之类的编程语言,则可能您没有autocommit
设置。然后你的测试程序必须发布commit
声明本身才能使测试的效果出现在世界其他地方......以及 Phpmyadmin。
如果你每次都得到最后一行。那么可能是你的代码是这样的,
$result = mysql_query("SELECT * FROM service");
while($row = mysql_fetch_array($result))
{
$user=$row['Username']; //assume you have a column named Username
}
echo $user . "<br>";
但它应该像下面这样,然后你就可以得到所有的数据。
$result = mysql_query("SELECT * FROM service");
while($row = mysql_fetch_array($result))
{
$user=$row['Username']; //assume you have a column named Username
echo $user . "<br>";
}