【问题标题】:Php mysql_fetch_array [closed]PHP mysql_fetch_array [关闭]
【发布时间】:2012-12-27 19:08:10
【问题描述】:

谁能告诉我我在下面的代码中做错了什么?

另外,我想对结果进行分页。

$link = mysql_connect("localhost", "yvens47", "tij43gt") or die("unable to connect to database");
$data = mysql_select_db("phppractice", $link) or die("no such database");

$display = "SELECT * FROM phppractice(Name,Email,Phone)";

while($row = mysql_fetch_array($display)) {
    echo $row['name'];
}

【问题讨论】:

  • 错误是什么?分页与此有什么关系?另外,您做错的一件事是mysql_;它在 PHP 5.5 中已被弃用。改用 PDO 或 MySQLi。
  • 不要使用 mysql_*。已弃用。
  • 这甚至不是正确的 SQL。
  • 你能先告诉我们你认为你做错了什么吗?

标签: php mysql


【解决方案1】:

您忘记运行错误的查询

$sql = "SELECT Name,Email,Phone FROM phppractice";
$res = mysql_query($sql) or trigger_error(mysql_error());
while($row = mysql_fetch_array($res)) {
    echo $row['name'];
}

【讨论】:

    【解决方案2】:

    好吧,首先,您的 $display 语法是错误的。其次,您也永远不会执行该语句。

    【讨论】:

      【解决方案3】:

      这个查询没有意义:

      SELECT * FROM phppractice(Name,Email,Phone)
      

      您是否只想选择名为“姓名”、“电子邮件”和“电话”的文件?如果是这样,请使用此

      SELECT Name, Email, Phone FROM phppractice
      

      除此之外,您永远不会实际致电mysql_query()。所以qieru永远不会被处决。

      另外,不要使用mysql_* 函数。它们已被弃用(请注意 PHP 手册文档中的大红色警告?)。我建议将 mysqli_* 函数作为一个简单的替代方案。

      此外,您应该始终为您的数据库查询提供错误处理。如果您只是简单地记录或回显 MySQL 错误,并实际进行了一次查询尝试,您就会立即知道您的语法无效。

      【讨论】:

        【解决方案4】:

        查询本身无效。也许:

        SELECT `Name`, `Email`, `Phone` from phppractice;
        

        【讨论】:

          【解决方案5】:

          错误

          SELECT * FROM phppractice(Name,Email,Phone)
          

          应该是

          SELECT Name,Email,Phone FROM phppractice
          

          【讨论】:

            猜你喜欢
            • 2014-05-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-08-05
            • 2012-07-18
            • 1970-01-01
            • 2013-03-04
            • 1970-01-01
            相关资源
            最近更新 更多