- incs/db.php: db_verbinden() setzt utf8mb4, strikten sql_mode und schaltet die mysqli-Exceptions von PHP 8.1+ ab, damit die bestehenden "or error(mysqli_error())"-Pruefungen weiter greifen. - db_abfrage/db_zeilen/db_zeile/db_wert mit ?-Platzhaltern (mysqli_execute_query, PHP 8.2). - Alle neun kopierten mysqli_connect/select_db-Stellen nutzen jetzt db_verbinden(). Nur zusammen mit der auf utf8mb4 migrierten Datenbank einsetzbar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
45 lines
1.3 KiB
PHP
45 lines
1.3 KiB
PHP
<?php
|
|
require_once("./incs/constants.php");
|
|
session_name(SESSION_NAME);
|
|
session_start();
|
|
require_once("./incs/settings.php");
|
|
$settings=readsettings();
|
|
if($settings == "valid")
|
|
{
|
|
|
|
$dbconn = db_verbinden($mysql_server, $mysql_user, $mysql_pw, $mysql_db);
|
|
if(!$dbconn)
|
|
$err = 1;
|
|
}
|
|
else
|
|
$err = 1;
|
|
|
|
if(!$err)
|
|
{
|
|
mysqli_query("DELETE FROM tmp_rechnung WHERE 1");
|
|
mysqli_query("ALTER TABLE tmp_rechnung AUTO_INCREMENT = 1");
|
|
mysqli_query("DELETE FROM tmp_artikel WHERE 1");
|
|
mysqli_query("ALTER TABLE tmp_artikel AUTO_INCREMENT = 1");
|
|
mysqli_query("DELETE FROM tmp_eigensch WHERE 1");
|
|
mysqli_query("ALTER TABLE tmp_eigensch AUTO_INCREMENT = 1");
|
|
|
|
|
|
$qry = mysqli_query("SELECT artikel_rechn.rech_id FROM artikel_rechn
|
|
LEFT JOIN rechnung ON (artikel_rechn.rech_id = rechnung.id)
|
|
WHERE rechnung.id IS NULL");
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
mysqli_query("DELETE FROM artikel_rechn WHERE rech_id = ".$res["rech_id"]."");
|
|
}
|
|
|
|
$qry = mysqli_query("SELECT artikel.id FROM artikel
|
|
LEFT JOIN artikel_rechn ON (artikel.id = artikel_rechn.art_id)
|
|
WHERE artikel_rechn.rech_id IS NULL");
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
mysqli_query("DELETE FROM artikel_eigensch WHERE art_id = ".$res["id"]."");
|
|
mysqli_query("DELETE FROM artikel WHERE id = ".$res["id"]." LIMIT 1");
|
|
}
|
|
}
|
|
|
|
?>
|