Sonra mysql_query, hiçbir sonuç çıktı

6 Cevap php

Ben mysql güncelleştirmek için basit bir mysql_query() güncelleme komutu var.

Bir kullanıcı benim formu gönderdiğinde, bu verileri güncellemek için bir güncelleme sayfasına atlayacaktır. Sorun güncellemeden sonra gösterilen bazı veriler olması gerekiyordu olduğunu, ancak boş çıkıyor.

My form

<form id="form1" method="POST" action="scheduleUpdate.php" >

  <select name=std1>
    <option>AA</option>
    <option>BB</option>
    <option>CC</option>
  </select>

  <select name=std2>
    <option>DD</option>
    <option>EE</option>
    <option>FF</option>
  </select>

.......//more drop down menu but the name is std3..std4..etc...
.......
</form>

scheduleUpdate.php

//$i is the value posted from my main app to tell me how many std we have

for($k=0;$k<$i;$k++){

    $std=$_POST['std'.$k];
//if i remove the updateQuery, the html will output.I know the query is the problem but i //couldn't fix it..
    $updateQuery=mysql_query("UPDATE board SET
                student='$std'
                WHERE badStudent='$std' or goodStudent='$std'",$connection);
        //no output below this line at all
        if($updateQuery){
        DIE('mysql Error:'+mysql_error());
        }

    }

// I have bunch of HTML here....but no output at all!!!!

MySQL Ben göndermek çarptı sonra güncellenir, ancak herhangi bir HTML gösterilmemiştir vermez.

6 Cevap

Sizin hata işleme yanlıştır; $updateQuery başarı true değerlendirir, böylece başarı yerine bir hata programı öldürür.

Olmamalı:

if(!$updateQuery)

?

Diğerleri söylediler, muhtemelen olmak if(!$updateQuery){ yerine if($updateQuery){ olmalıdır. Olsa: Ben size çıktı "mysql hatası" görmek istiyorum umuyordum.

Ek bir not olarak, SQL enjeksiyon kadar okuyun lütfen ve savunmasız kod yazma gibi göründükleri gibi, kullanıcı girişi sterilize.

Eğer ölmek gerekmiyor yalnızca sorgu fails:

if(!$updateQuery){
    die('mysql Error:'+mysql_error());
}

Kullanıcı örneğe göre, k 1 da for döngü içinde değil, 0 başlamalıdır.

Yukarıdaki kodu çalıştırmak Eğer HTML çıktı olsun "mysql Hata:" diyeceksiniz ilk form öğe adı STD1 beri, ayrıca sayaç değişkeni k, formu bir başlamalıdır.