【问题标题】:php mysql query looping too many times on page load??php mysql查询在页面加载时循环太多次??
【发布时间】:2013-04-17 22:28:14
【问题描述】:

我正在运行查询以获取下面 mysql 中“经理”的“名字”和“姓氏”——当我测试它时,查询在 mysql 中运行良好(它返回一个结果)但是当页面加载到我的浏览器名称出现超过 10,000 次!我不确定我做错了什么 - 任何帮助将不胜感激,谢谢。

        <div id="">
        <?
            $query3 = "SELECT * FROM  `lf`.`weekly_report` INNER JOIN `lf`.`user_account` ON `lf`.`weekly_report`.`manager` = `lf`.`user_account`.`user_id` WHERE (DATE >= CURDATE( ) - INTERVAL DAYOFWEEK( CURDATE( ) ) +6 DAY) AND (DATE < CURDATE( ) - INTERVAL DAYOFWEEK( CURDATE( ) ) -1 DAY) AND  `p_code` = '" . $pCode . "'";
            echo "<table border=1 cellpadding=5 width=30% style='border-collapse:collapse; height:auto; font-size:small; float:left;'>";
            echo "<tr>";
            echo "<th style='background-color:#FFFFCC;'>Project Manager</th>";
            while ($row2 = mysql_fetch_assoc(mysql_query($query3))) {
                echo "<td style='background-color:#FFFFFF;text-align:left;'>" . $row2['forename'] . " " . $row2['surname'] . "</td>";
            }

            echo "</tr>";
            echo "</table>";
        ?>
        </div>

【问题讨论】:

  • 如何为查询添加限制
  • 您在每次迭代时一遍又一遍地执行查询。它会一遍又一遍地给你第一个结果;)
  • 对,我没有看到循环内的查询
  • @dbf 不,我认为这需要那些试图提供帮助的人,而不是那些认为自己太聪明,像你刚才那样制造无用的 cmets 的人

标签: php mysql loops


【解决方案1】:

尝试将查询移出循环。

$result3 = mysql_query($query3);
while ($row2 = mysql_fetch_assoc($result3)) {

您还需要查看PDO,因为不推荐使用 mysql_* 函数。

【讨论】:

  • 我听说 PDO 更胜一筹,但如果您正在寻找熟悉的语法,mysqli 也是一个更类似于 mysql 的有效替代方案..
  • PDO 是数据对象层,而不是数据库。您可以将 MySQL 或 MySQLi 与 PDO 一起使用。它是 mysql_* 函数的替代品,而不是 MySQL 本身。
  • @Blonde 不要忘记接受以后通过谷歌找到这个问题的每个人的答案。
  • 抱歉,这是我在这里的第一个问题,所以我有点慢=)我想我已经做到了=)再次感谢@JRL
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
  • 2015-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
相关资源
最近更新 更多