UPDATE funktioniert nicht

Jacy

Mitglied
Hallo,

kann mir jemand sagen,warum folgende UPDATE Anfrage nicht funktioniert?
Ich verzweifle langsam:(

PHP:
<?php
$mysqli= new mysqli("localhost","jb110","","u-jb110");
$host=htmlspecialchars($_SERVER["HTTP_HOST"]);
$uri=rtrim(dirname(htmlspecialchars($_SERVER["PHP_SELF"])),"/\\");
$extra="albummod.php";
if (empty($_REQUEST["titel"])) {
if (!isset($_GET["aID"]) || !is_numeric($_GET["aID"])) {
    header ("Location: http://$host$uri/$extra");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
<title>Album bearbeiten</title>
</head>
<body>
<?php
  include('kopfcd.php');
?>
<?php

$aID=$_GET["aID"];
if ($stmt=$mysqli->prepare("SELECT aID, ean, titel, jahr, kID, cover, lID, gID FROM album WHERE aID=?")) {
    $stmt->bind_param("i",$aID);
    $stmt->execute();
	$stmt->bind_result($aID, $ean, $titel, $jahr, $kID, $cover, $lID, $gID);
	$stmt->fetch();
	$stmt->close();
	$mysqli->close();
}

?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);
  ?>">
ean <br />
<input type="text" name="ean" value="<?php echo htmlspecialchars($ean);?>"
  /><br />
Titel <br />
<input type="text" name="titel" value="<?php echo htmlspecialchars($titel);?>"
  /><br />
Erscheinungsjahr <br />
<input type="text" name="jahr" value="<?php echo htmlspecialchars($jahr);?>"
  /><br />
kID <br />
<input type="text" name="kID" value="<?php echo htmlspecialchars($kID);?>"
  /><br />
Cover URL <br />
<input type="text" name="cover" value="<?php echo htmlspecialchars($cover);?>"
  /><br />
lID <br />
<input type="text" name="lID" value="<?php echo htmlspecialchars($lID);?>"
  /><br />
gID <br />
<input type="text" name="gID" value="<?php echo htmlspecialchars($gID);?>"
  /><br />
<input type="hidden" name="aID" value="<?php echo $aID; ?>" />
<input type="submit" /></form>
</body>
</html>
<?php
} else {
  $aID= (int)$_REQUEST["aID"];
  if ($stmt=$mysqli->prepare("UPDATE album SET  ean=?, titel=?, jahr=?, kID=?, cover=?, lID=?, gID=? WHERE aID=?")){
	  $ean=$_REQUEST["ean"];
	  $titel=$_REQUEST["titel"];
	  $jahr=$_REQUEST["jahr"];
	  $kID=$_REQUEST["kID"];
	  $cover=$_REQUEST["cover"];
	  $lID=$_REQUEST["lID"];
	  $gID=$_REQUEST["gID"];
	  $stmt->bind_param("ssi", $ean, $titel, $jahr, $kID, $cover, $lID, $gID);
	  $stmt->execute();
	  $stmt->close();
	  $mysqli->close();
	  header("Location: http://$host$uri/$extra");
}
}
?>
 
Ja ich hab es hier dahinter eingefügt: $stmt->execute(); (beim 2. Mal)
oder ist das die falsche Stelle?
 
Ich habe den Fehler jetzt endlich gefunden:
$stmt->bind_param("ssi", $ean, $titel, $jahr, $kID, $cover, $lID, $gID);

habe die falschen und zu wenig Parameter übergeben.
 
Zurück