I am getting the "Fatal error: call to a member function fetch_array() on boolean in..." error when trying to execute my php script. The code in question is here:
function backup() { global $mysqli; $bup = "SELECT p.product_id, p.ean, p.image, p.model, p.status, p.price_sync, p.modified_by, p.date_modified, pd.name, pd.description, pd.language_id, pd.meta_description, pd.meta_keyword, pd.tag FROM oc_product p INNER JOIN oc_product_description pd ON p.product_id = pd.product_id"; $backup = $mysqli->query($bup); $megainsert = "REPLACE INTO oc_product_backup(product_id, ean, image, model, status, price_sync, modified_by, date_modified, name, description, language_id, meta_description, meta_keyword, tag) VALUES "; while($row = $backup->fetch_array(MYSQLI_ASSOC)) { $product_id = $mysqli->real_escape_string($row['product_id']); $ean = $mysqli->real_escape_string($row['ean']); $image = $mysqli->real_escape_string($row['image']); $model = $mysqli->real_escape_string($row['model']); $name = $mysqli->real_escape_string($row['name']); $description = $mysqli->real_escape_string($row['description']); $meta_description = $mysqli->real_escape_string($row['meta_description']); $meta_keyword = $mysqli->real_escape_string($row['meta_keyword']); $tag = $mysqli->real_escape_string($row['tag']); $megainsert .= "('".$product_id."', '".$ean."', '".$image."', '".$model."', '".$row['status']."', '".$row['price_sync']."', '".$row['modified_by']."', '".$row['date_modified']."', '".$name."', '".$description."', '".$row['language_id']."', '".$meta_description."', '".$meta_keyword."', '".$tag."'),"; } $backup->close(); $megainsert = substr_replace($megainsert, "", -1); $dobackup = $mysqli->query($megainsert); if(!$dobackup) return $mysqli->error; else return true; }
the following line is where the problem is:
while($row = $backup->fetch_array(MYSQLI_ASSOC))
The code right before the function above is as follows:
function clearBackupPrices() { global $mysqli; $clean = "TRUNCATE TABLE oc_product_price_backup"; $doclean = $mysqli->query($clean); if(!$doclean) return $mysqli->error; else return true; }
I researched and looked into other answers with the same question, but had no luck resolving it. Does anyone have a suggestion for my problem, please? Thank you all in advance.