mysqli_stmt :: bind_param (): Die Anzahl der Elemente in der Typdefinitionszeichenfolge stimmt nicht mit der Anzahl der Bindungsvariablen überein und kann nicht AKTUALISIERT werden.
Ich habe ein Problem, wenn ich diese Daten abschicke oder aktualisiere. Die Daten können nicht aktualisiert werden.
dieser Code:
if(isset($_GET['newsid'])){
if(isset($_POST['submit'])){
$sql = $connect->prepare("UPDATE news set title =?, short_desc =?, isi =?, author =?, status =?, date_period_start =?, date_period_end =?, category =? WHERE newsid =?");
$sql->bind_param('aaaaa',
$title,$short_desc,$isi,$author,$status,
$date_period_start, $date_period_end, $category);
$title = $_POST['title'];
$short_desc = $_POST['short_desc'];
$isi = $_POST['isi'];
$author = $_POST['author'];
$status = $_POST['status'];
$date_period_start = $_POST['date_period_start'];
$date_period_end = $_POST['date_period_end'];
$category = $_POST['category'];
if($sql->execute()){
echo "<script>location.href='index.php'</script>";
}else{
echo "<script>alert('".$sql->error."')</script>";
};
}
$res =$connect->query("SELECT newsid, title, short_desc, isi, author, status, date_period_start, date_period_end, category from news
where newsid=".$_GET['newsid']);
$row = $res->fetch_assoc();
?>
<div class="container">
<div class="row">
<h2>UPDATE</h2>
</div>
<div class="row">
<form role="form" method="post" action="">
<input type="hidden" value="<?php echo $row['newsid'] ?>" name="newid"/>
<div class="form-group">
<label>Category : </label>
<input type="text" name="category" id="category" value="<?php echo $row['category'] ?>"> <br><br>
</div>
<p>
<label> Title : </label>
<input name="title" id="title" size="40" maxlength="255" value="<?php echo $row['title'] ?>"/>
<p/>
<p>
<label> Author : </label>
<input name="author" id="author" size="40" maxlength="255" value="<?php echo $row['author'] ?>"/>
<p/>
<br/>
<p><label>Short Description : </label>
<textarea name="short_desc" id="short_desc" value="<?php echo $row['short_desc'] ?>">
</textarea>
</p>
<br>
<p>
<label>Description: </label>
<textarea name="isi" id="isi" rows="7" cols="90" value="<?php echo $row['isi']; ?>"></textarea>
</p>
<br/>
<p>
<label> Status: </label>
<input type="text" name="status" id="status" value="<?php echo $row['status'] ?>"/> <br><br>
<p/>
<p>
<label> Display Periode </label>
<input type="text" id="date_period_start" name="date_period_start" value="<?php echo $row['date_period_start'] ?>"/>
<input type="text" id="date_period_end" name="date_period_end" value="<?php echo $row['date_period_end'] ?>"/>
<input type="checkbox" name="cek" value="yes"/><br><br>
</p>
<button type="submit" name="submit" class="btn btn-default">Submit</button>
</form>
<?php
}
?>
Die Ausgabe, die ich bekomme:
mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables .
Und auch diese Warnung:no data supplied for parameters in prepared statement.
Und tatsächlich kann ich die Daten nicht aktualisieren.
Bitte helfen Sie mir, diesen Code zu lösen. Ich kann keinen Fehler finden, wenn ich @ aktualisie
Vielen Dank