0
私はコーディングで初心者です。私はちょうど私の旅行代理店のための新しいメンバーのデータを作成します、私はこのコードがうまく動作していないとき混乱しています。私は最初にmysqliの4行にこのコードを使用していますが、うまく動作していますが、複雑なデータを試してみると、実行されません。ここ警告:mysqli_stmt :: bind_param():変数の数がプリペアドステートメントのパラメータの数と一致しません5
はmysqliのコードです:
if(isset($_GET['id'])):
if(isset($_POST['submit'])):
$stmt = $mysqli->prepare("UPDATE jamaah SET berangkatbulan=?, berangkattahun=?,bulandaftar=?, tahundaftar=?, nomorktp=?, namapertama=?,
namakedua=?, namaketiga=?, namaayahkandung=?, tempattanggallahir=?,
umur=?, jeniskelamin=?, kewarganegaraan=?, alamatlengkap=?, rtrw=?, kelurahan=?, kecamatan=?,
kabupaten=?, provinsi=?, kodepos=?, nomortelepon=?,
nomerhp=?, email=?, alamatjakarta=?, pendidikan=?, pekerjaan=?, pernahhaji=?, namamahram=?, hubunganmahram=?,
golongandarah=?, pilihpaket=? WHERE id=?");
$stmt->bind_param('sssssssssssssssssssssssssssssss', $berangkatbulan, $berangkattahun, $bulandaftar, $tahundaftar, $nomorktp, $namapertama,$namakedua, $namaketiga, $namaayahkandung,
$tempattanggallahir, $umur, $jeniskelamin, $kewarganegaraan, $alamatlengkap, $rtrw, $kelurahan, $kecamatan, $kabupaten,$provinsi,$kodepos,
$nomortelepon,$nomerhp,$email, $alamatjakarta,$pendidikan, $pekerjaan, $pernahhaji, $namamahram,$hubunganmahram, $golongandarah, $pilihpaket);
$berangkatbulan=$_POST['berangkatbulan'];
$berangkattahun=$_POST['berangkattahun'];
$bulandaftar=$_POST['bulandaftar'];
$tahundaftar=$_POST['tahundaftar'];
$nomorktp=$_POST['nomorktp'];
$namapertama=$_POST['namapertama'];
$namakedua=$_POST['namakedua'];
$namaketiga=$_POST['namaketiga'];
$namaayahkandung=$_POST['namaayahkandung'];
$tempattanggallahir=$_POST['tempattanggallahir'];
$umur=$_POST['umur'];
$jeniskelamin=$_POST['jeniskelamin'];
$kewarganegaraan=$_POST['kewarganegaraan'];
$alamatlengkap=$_POST['alamatlengkap'];
$rtrw=$_POST['rtrw'];
$kelurahan=$_POST['kelurahan'];
$kecamatan=$_POST['kecamatan'];
$kabupaten=$_POST['kabupaten'];
$provinsi=$_POST['provinsi'];
$kodepos=$_POST['kodepos'];
$nomortelepon = $_POST['nomortelepon'];
$nomerhp=$_POST['nomerhp'];
$email=$_POST['email'];
$alamatjakarta=$_POST['alamatjakarta'];
$pendidikan=$_POST['pendidikan'];
$pekerjaan=$_POST['pekerjaan'];
$pernahhaji=$_POST['pernahhaji'];
$namamahram=$_POST['namamahram'];
$hubunganmahram=$_POST['hubunganmahram'];
$golongandarah=$_POST['golongandarah'];
$pilihpaket=$_POST['pilihpaket'];
$id = $_POST['id'];
if($stmt->execute()):
echo "<script>location.href='index.php'</script>";
else:
echo "<script>alert('".$stmt->error."')</script>";
endif;
endif;
$res = $mysqli->query("SELECT * FROM jamaah WHERE id=".$_GET['id']);
$row = $res->fetch_assoc();
私がクリックしたときに更新mysqliのメッセージは次のとおりです。
**Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in D:\xampp\htdocs\datarematour\admin\update.php on line 11**
と、これは私のサンプルのPHPコードです:
<label for="kewarganegaraan">Kewarganegaraan</label>
<select name="kewarganegaraan" class="form-control">
<option>-Pilih--</option>
<option value="<?php echo $row['kewarganegaraan'] ?>">Warga Negara Indonesia</option>
<option>Warga Negara Asing</option>
</select>
<div class="col-xs-6 col-md-4 form-group">
<label for="namapertama">Nama Pertama</label>
<input type="text" name="namapertama" value="<?php echo $row['namapertama'] ?>" class="form-control">
</div>
背後id値を含む変数は、あなたが 'id'バインドが欠落しているID
。 – radoh