我正在尝试将员工ID(Emp_ID
)输入schedule
表30次。员工ID正从employee
表中提取。它将在第一个循环上工作,但然后在第二个循环中断开。我得到的错误是
“致命错误:在第110行的C:\ wamp \ www \ server \ roster \ dates.php中的非对象上调用成员函数fetch_assoc()”
第110行是while
循环。我只能假设这种情况正在发生,因为结果集正在被清空,但我不确定如何修复它。
<?php
//Select all of the current Employees by ID number
$sql = ("SELECT Emp_ID FROM employee");
//Run a check on the query to make sure it worked.
//if it failed then print the error.
if(!$result = $mysqli->query($sql))
{
die('There was an error getting the Emp_ID from the employee table [' . $mysqli->error . ']');
}
//Loop through the results...
while($row = $result->fetch_assoc())
{
//...and for each employee ID, enter it into the table 30 times.
for($i = 1; $i <= 30; $i++ )
{
$sql = ("INSERT INTO schedule (Emp_ID) VALUES ('" . $row['Emp_ID'] . "')");
//Run a check on the query to make sure it worked.
//if it failed then print the error.
if(!$result = $mysqli->query($sql))
{
die('There was an error inserting the Emp_ID into the schedule [' . $mysqli->error . ']');
}
}
}
?>
答案 0 :(得分:3)
$result
已在while
循环中使用,您不能在循环中使用相同的名称来覆盖$result
的当前值
将$result
更改为其他变量名称$result_insert
(我的意思是在插入查询之后)
if(!$result_insert = $mysqli->query($sql))
答案 1 :(得分:1)
您正在覆盖$ result变量。在while循环中使用不同的变量名。
答案 2 :(得分:0)
在if条件中,您正在使用相同的$ result变量,该变量将其类型更改为非对象。将其名称改为别的。