简单的while循环,返回“调用未定义的函数”错误

时间:2018-10-27 19:47:33

标签: php mysql

我是PHP的新手,正在寻找一些初学者的帮助。我不明白为什么这个简单的while循环不起作用。我已经检查了各种变化的语法错误,但事实并非如此。

错误提示:

  

致命错误:未捕获错误:调用/opt/lampp/htdocs/basic-procedural-php-project/index.php中的未定义函数mysql_fetch_assoc():77堆栈跟踪:#0 {main}抛出/ opt /第77行的lampp / htdocs / basic-procedural-php-project / index.php

代码如下:

<?php include 'db.php'; ?>

<?php
// Fetch data from db
$query = 'SELECT * FROM data';
$numbers = mysqli_query($con, $query);
?>

<?php while ($row = mysql_fetch_assoc($numbers)) : ?>
            <p>whatever <?php echo $row['t_name'] ?></p>
          <?php endwhile; ?>

数据库如下:

DB NAME: timesNumbers
DB TABLE NAME: data
COLUMNS: t_id, t_name, t_firstNo, t_secondNo

有人可以解释该错误的含义,问题以及解决方法吗?我觉得这可能是我没有得到的基本知识。感谢您的帮助。

db.php文件还包括:

<?php

// Connect
$con = mysqli_connect("localhost", "root", "", "timesNumbers");

// Test Connection
if (mysqli_connect_errno()) {
    echo 'Failed: '.mysqli_connect_error();
}

?>

1 个答案:

答案 0 :(得分:1)

您不能混合使用mysql和mysqli库/扩展的用法。 我猜您甚至没有安装mysql库/扩展名,因为您收到该错误。

您无论如何都不应该使用它。坚持使用mysqli或PDO。

要使用mysqli获取数据,请查看http://php.net/manual/en/mysqli-result.fetch-assoc.php上的手册

我喜欢PDO。

编辑:现在您已经提到php的版本是7.1.9,可以肯定的是您已经安装了mysql扩展,因为它已被弃用了很长一段时间,因为它已从php 7中删除。