2016-03-30 11 views
0

Kodlamada yeni durumdayım. Sadece seyahat acentem için yeni üye verileri oluşturuyorum, bu kod düzgün çalışmıyorsa kafa karıştırıyorum. ilk kez bu kodu mysqli içinde 4 satır için kullandığım zaman iyi çalışıyor, ancak karmaşık veriler için denedim, onun çalışmaz.Uyarı: mysqli_stmt :: bind_param(): Değişken sayısı, hazırlanan deyimde parametre sayısıyla eşleşmiyor 5

**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** 

ve bu benim örnek php kodları geçerli::

<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> 
+0

arkasında id değeri içeren değişken. – radoh

cevap

0

hata mesajı

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(); 

i bir güncelleme mysqli mesajıdır tıklayın: Burada

mysqli koddur herşeyi söylüyor:

Uyarı: mysqli_stmt :: bind_param(): değişkenlerin sayısı Hazırlanan açıklamada parametre sayısını eşleşmiyor sorgu kendisi bağlama parametre ilk 31 parametreleri ancak doldurur 32 soru işaretleri içermektedir

sonuncusu, id

Eğer bind_param dize değişkenine bir i ekleyip zorunda sonra tüm diğer değişkenler sen `id` bağlama kaçırıyorsun

İlgili konular