我正在编写一个时钟程序,我遇到了一个我在代码中似乎找不到的错误。查看代码后,我发现有一个错误。我也检查了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>";
}
?>
答案 0 :(得分:3)
而不是$link->fetch_array($result)
使用$result->fetch_array()
有效的可选mysqli_result::fetch_array()
参数为MYSQLI_ASSOC
,MYSQLI_NUM
或MYSQLI_BOTH
(默认),以确定值数组是否应以关联或数字格式返回。
答案 1 :(得分:1)
使用$result
代替$link
。
在提出问题之前,请先阅读documentation。并阅读错误消息。我花了5秒钟才弄明白问题是什么,这告诉我你应该能够自己解决这个问题。