我收到此错误:
Fatal error: Call to a member function fetch_object() on a non-object in C:\.....php on line 136
以下是代码:
if ($result = $mysqli->query("INSERT INTO partlistlist ( P_fam , P_code , P_name, P_var , P_ver , P_lnk , P_fol , P_Notes , P_status , P_op ) VALUES ( \"".$mod_fam ."\", \"".$mod_code ."\", \"".$mod_name ."\", \"".$mod_var ."\", 1 , \"".$mod_lnk ."\", \"".$mod_fold ."\", \"".$mod_note ."\", \"".$mod_stat ."\", \"". $_SESSION['wh_pwd_usr']."\" ) "));
{
echo "<br>Articolo creato con successo";
$created_id = $mysqli->insert_id;
if (!$result = $mysqli->query("SELECT * FROM partlistlist WHERE P_id = $created_id LIMIT 1"))
echo "Error";
$row = $result->fetch_object();
$P_id = $created_id;
if (!$result_clonepart = $mysqli->query("SELECT * FROM partlist WHERE K_pid = $old_P_id"))
{
echo "Error";
}
else
{
if ($result_clonepart->num_rows > 0)
{
while ($row_clonepart = $result_clonepart->fetch_object())
{
if (!$result_clonepart = $mysqli->query("INSERT INTO partlist ( K_ref ,K_pid ,K_iid ,K_qty ,K_subpid, K_stat ) VALUES ( \"".$row_clonepart->K_ref ."\" ,\"". $P_id ."\" ,\"".$row_clonepart->K_iid ."\" ,\"".$row_clonepart->K_qty ."\" ,\"".$row_clonepart->K_subpid ."\" ,\"".$row_clonepart->K_stat ."\")"))
echo "Error";
}
}
}
}
第136行是:
while ($row_clonepart = $result_clonepart->fetch_object())
如果num_rows检查好,$ result_clonepart如何不是一个对象?
答案 0 :(得分:0)
在你的while循环中,你正在重新分配$result_clonepart
(你可能不想做的事情)。如果该查询失败,您的脚本将因致命错误而停止。
使用不同的变量名称(如果您不想使用相同的变量名称)或在失败时断开循环(如果您故意重新分配)
while ($row_clonepart = $result_clonepart->fetch_object()) {
// VVVVVVVVVVV Here is the reassignment
if (!$result_clonepart = $mysqli->query("INSERT INTO partlist ( K_ref ,K_pid ,K_iid ,K_qty ,K_subpid, K_stat ) VALUES ( \"".$row_clonepart->K_ref ."\" ,\"". $P_id ."\" ,\"".$row_clonepart->K_iid ."\" ,\"".$row_clonepart->K_qty ."\" ,\"".$row_clonepart->K_subpid ."\" ,\"".$row_clonepart->K_stat ."\")"))
echo "Error";
//You could insert a break statement if you are reassigning the variable intentionally
}