Deprecated: mysqli::real_escape_string()
Hejsa.Jeg har et backup-script, som tager backup af tabellerne i en MySQL database.
Efter at PHP versionen er opdateret til 8.1, får jeg denne fejl, og som jeg ikke kan gennemskue løsningen på:
Her er et lille udpluk at programkoden:
while ($row = $results->fetch_array()) {
if (($r % 400) == 0) {
$contents .= $insert_head;
}
$contents .= "(";
for ($i=0; $i < $fields_count; $i++) {
$row_content = str_replace("\n", "\\n", $mysqli->real_escape_string($row[$i]));
switch ($fields[$i]->type) {
case 8:
case 3:
$contents .= $row_content;
break;
default:
$contents .= "'". $row_content ."'";
}
if ($i < $fields_count-1) {
$contents .= ', ';
}
}
if (($r+1) == $row_count || ($r % 400) == 399) {
$contents .= ");\n\n";
} else {
$contents .= "),\n";
}
$r++;
}
Den linje, der driller er:
Nogen der kan gennemskue problemet og måske endda komme med et løsningsforslag.