【问题标题】:output all data from db to a php page将所有数据从 db 输出到 php 页面
【发布时间】:2010-05-16 18:14:22
【问题描述】:

我是 PHP 和 mysql 的真正初学者。 只是为了学习和在学校做一个简单的例子,我想处理这个简单的查询,并可能将所有行(甚至可能是一个)输出到 php 页面上的一个非常基本的输出:

<?php
$user= "root";
$host="localhost";
$password="";
$database = "PetCatalog";
$cxn = mysqli_connect($host,$user,$password,$database)
or die ("couldn’t connect to server");
$query = "SELECT * FROM Pet";
$result = mysql_query($cxn,$query) or die ("Couldn’t execute query.");
$row = mysqli_fetch_assoc($result);
echo "$result";
?>

这是我收到的错误消息:

Warning: mysql_query() expects parameter 1 to be string, object given in C:\xampplite\htdocs\myblog\query.php on line 18
Couldn’t execute query.

我该怎么办? 谢谢!

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:
    mysql_query($query,$cxn) 
    

    代替

    mysql_query($cxn,$query) 
    

    【讨论】:

    • OP使用的是Mysql改进库,问题是函数不对,不是参数顺序。
    【解决方案2】:

    您可能还想考虑使用面向对象的接口:

    # create a new connection object
    $DBH = new mysqli($host, $user, $pass, $dbname);
    
    # execute your query 
    $result =$DBH->query('SELECT * FROM Pet');
    
    # iterate over the results
    while($row = $result->fetch_assoc()) {
           print_r($row);
    }
    

    【讨论】:

      【解决方案3】:

      PHP 已经存在了很长时间。每隔几年,就会有人提出一种新的、首选的连接数据库的方式。在早期,要连接和查询 MySQL 数据库,您使用 MySQL 数据库。后来,创建了一个新的 MySQL 库,Mysqli(i 代表改进)。

      您正在与mysqli_connect 函数建立连接,这是一个 Mysqli 函数。但是,您随后尝试使用原始库中的函数mysql_query(注意没有 i)。你想要@987654323@

      如果你查看那个页面,你会看到这个,列出了程序样式

      mixed mysqli_query  (  mysqli $link  ,  string $query  [,  int $resultmode  ] )
      

      这一行告诉你该函数首先需要数据库链接,然后是查询。所以,你的参数在上面的正确顺序,你只是使用了错误的函数。

      【讨论】:

        【解决方案4】:
        <?php
        $user= "root";
        $host="localhost";
        $password="";
        $database = "PetCatalog";
        $cxn = mysqli_connect($host,$user,$password,$database)
        or die ("couldn’t connect to server");
        $query = "SELECT * FROM Pet";
        $result = mysql_query($query) or die ("Couldn’t execute query.");
        while($row = mysqli_fetch_array($result)) {
                  print_r($row);
        }
        ?>
        

        这应该可以解决您的问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-21
          • 2022-01-02
          • 2017-03-07
          • 1970-01-01
          • 1970-01-01
          • 2014-03-06
          相关资源
          最近更新 更多