Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果检索所有行,则mysql获取结果为空_Php_Mysql - Fatal编程技术网

Php 如果检索所有行,则mysql获取结果为空

Php 如果检索所有行,则mysql获取结果为空,php,mysql,Php,Mysql,我在使用php+mysql从服务器返回值时遇到一些问题 这是我的密码 $result = mysql_query("SELECT * FROM Nicknames", $con); if (mysql_real_escape_string($_POST['Create']) == "NICKNAME") { $output; while ($row = mysql_fetch_assoc($result)) {

我在使用php+mysql从服务器返回值时遇到一些问题

这是我的密码

    $result = mysql_query("SELECT * FROM Nicknames", $con);

    if (mysql_real_escape_string($_POST['Create']) == "NICKNAME") {
        $output;        
        while ($row = mysql_fetch_assoc($result)) {
            if ($row['Taken'] == '0')  $output = $output . $row['Nickname'] . ",";
        }
        echo substr($output, 0, -1);

    }   
如果我加上休息;在while循环中,它工作得非常好,我只得到了我的表的一行。 如果我想返回所有3000行,我只需要从服务器得到一个空的答案

如果该表有10行,它就可以工作

我想知道这是关于行的数量,还是因为最终的特殊字符

谢谢

更新 它一直工作到1330行,如果我尝试获取更多,就会得到一个空结果

$counter = 0;       
        while ($row = mysql_fetch_assoc($result)) {
            if ($row['Taken'] == '0')  $output = $output . $row['Nickname'] . ",";
            if ($counter == 1330) break;
            $counter++;
        }
        echo substr($output, 0, -1);

您是否尝试过显示错误消息

  error_reporting(E_ALL|E_STRICT);
  ini_set('display_errors', true);

可能$output在到达回显之前已填满内存限制,如果display\u errors为false,则不会看到表示内存不足的错误。

可能太明显了,但是。。。 您是否检查了php.ini中的max_execution_time值

在完成3000行提取之前,脚本可能正在消亡

尝试设置

set_time_limit(0);

在脚本开头避免此问题

$output
之后,if条件应为
$output=“” 

在表格行的某个地方,可能有一个无效字符。


由于您知道它在哪一行停止工作,请尝试运行具有不同顺序的SELECT以确定是否是这种情况。:)

你能不能也发布你的SQL查询,让我们看看你实际上是如何查询数据库的?另外:你确定每个$row['take']总是ascii字符0吗?我想脚本的时间执行有问题。@Nick Shaw是的,我确定。我已将SQL查询添加到问题中。正如我之前所说的,它可以完美地用于少数几行,但当我想要检索所有3000行时就不行了。$输出可能太大,无法显示。查看限制100和限制1000是否有效的疑难解答。出于安全原因,set_time_LIMIT()已被禁用。我已尝试过,但没有收到任何错误。此外,内存限制目前为96M。我想只有文字就足够3000行了,对吗?