致命错误:未识别的方法mysqli:fetch_array()

时间:2014-07-22 23:49:54

标签: php mysqli

我正在编写一个时钟程序,我遇到了一个我在代码中似乎找不到的错误。查看代码后,我发现有一个错误。我也检查了PHP Code Checker,但没找到。这是我正在使用的代码。我修改了敏感信息。我做错了什么,我该如何解决它。我在这里的第3个答案中遵循了这个例子: display data from SQL database into php/ html table

这是输出:

  

致命错误:在第31行的文件路径中调用未定义的方法mysqli :: fetch_array()

     

Punch ID Time Punch Type Group Department Notes   和代码

<head>
    <title>View My Punches</title>
    <body bgcolor="#9966FF">
    <link rel="icon" type="image/ico" href="path to favicon"/>
</head>

<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
define('DB_NAME', 'name');
define('DB_USER', 'user');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'host');


$link = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if ($link->connect_errno > 0){
    die('Could not connect: ' .connect_error());
}
$userid_value = $_POST['userid'];
$table = "tc_".$userid_value;
$checkusersql = "SELECT * FROM tc_users WHERE userid = '$userid_value'";
$usercheck = $link->query($checkusersql);
$punchessql = "SELECT * FROM $table";
$result = $link->query($punchessql);
if ($usercheck->num_rows == 0) {
    echo "Sorry, " . $userid_value . " is not a valid user ID. Please try again.";
}else {
    echo "<table>";
    echo "<tr><td>Punch ID</td><td>Time</td><td>Punch Type</td><td>Group</td><td>Department</td><td>Notes</td></tr>";
    while ($row = $link->fetch_array($result))
    {
        echo "<tr><td>" . $row['id'] . "</td><td>" . $row['time'] . "</td></tr>" . $row['punchtype'] . "</td><td>" . $row['groupname'] . "</td><td>" . $row['dept'] . "</td><td>" . $row['notes'] . "</td><td>";
    }
    echo "</table>";
}

?>

2 个答案:

答案 0 :(得分:3)

而不是$link->fetch_array($result)使用$result->fetch_array()

有效的可选mysqli_result::fetch_array()参数为MYSQLI_ASSOCMYSQLI_NUMMYSQLI_BOTH(默认),以确定值数组是否应以关联或数字格式返回。

答案 1 :(得分:1)

使用$result代替$link

在提出问题之前,请先阅读documentation。并阅读错误消息。我花了5秒钟才弄明白问题是什么,这告诉我你应该能够自己解决这个问题。