Thomas: 504 Gateway Time-out - Bei einem Update Script

Beitrag lesen

Hallo,

der Fehler tritt an dieser Stelle auf

					
if ($stmt = $mysqli->prepare("Update produkte SET preis=? WHERE artnr = ?")) {    
	
  $preis   = $Preis;
  $artnr   = $array['artnr'];  
	
  $stmt->bind_param("ss", $preis, $artnr);
  $stmt->execute();
}

Rufe ich das Script ohne den oben genannten Teil auf, wird dieses in ca. 30 - 40 Sekunden abgearbeitet

$update_preise_ausgabe = update_preise($mysqli);

if($update_preise_ausgabe > 0) {

	foreach($update_preise_ausgabe as $array){ 
			  
		$stmt1 = $mysqli->prepare("SELECT Nr, Netto FROM preise WHERE Nr=?");
		$stmt1->bind_param("s", $array['artnr']);
		$stmt1->execute();
		$stmt1->bind_result($Nr, $Netto);
		$stmt1->store_result();
		$stmt1->fetch();
				
		if($stmt1->num_rows() >  0) {
			 
		$Preis = str_replace(",", ".", $Netto);
		$Preis = number_format($Preis, 2, ',', ' ');
			 
		} else {
		$Preis = $array['preis'];  
		}
		
		echo $array['artnr'] ." ". $Preis;
		echo "<br>";
		
} // /foreach
} else { echo "Keine Daten vorhanden"; }

Zu deiner Frage:

Zweitens: Was liefert denn deine Funktion update_preise() als Ergebnis?

update_preise() liefert mir alle Einträge aus der Tabelle produkte