[Linux-programlama] Re: veri güncellemede ilginç hata

---------

[Linux-programlama] Re: veri güncellemede ilginç hata

From: Nuri Akman <nuri.akman_at_hazine.gov.tr>
Date: Thu, 09 Oct 2008 12:32:31 +0300
Message-ID: <48EDCFAF.9050006@hazine.gov.tr>

Evet, ben de bir defasızda böyle bir durumu çözmek için saatlerimi
harcamıştım. Eğer, veritabanında kayıtlı olan değer ile
güncelleyeceğiniz değer AYNI ise, MySQL UPDATE işlemi yapmıyor.

Örneğin, tabloda 100 adet kayıt olsun ve AKTIF adlı kolonun değeri 10
satırda 1, geri kalan satırlarda ise 2 olsun.

Size, UPDATE urun SET aktif=1; şeklinde bir komut gönderirseniz
affected_rows fonksiyonu 90 değerini gösteriyor. Yani, sorgu değeri
ZATEN 1 olan satırlar için işleme HİÇ girmiyor.

Selamlar,
Nuri AKMAN

Erdem Uyguner yazmış:
> ürün ekleme scriptim var... lokalde herzamanki gibi hiç bir sorun
> olmadan çalışıyor... ancak hostinge attığımda verileri güncellerken
> bazı kayıtlarda güncelleme yapmıyor. (bilgisayarın 1 ve 0 mantığının
> olmadığını düşündüren anlardan birisi)
> nası oluyorda bazı kayıtlarda güncelleme yaparken bazılarında yapmaz
> ve bunu yapmazkende hiç bir hata mesajı vermez aklım mantığım almıyor.
> bu tarz bi sorunla karşılaşan oldu mu olduysa nası çözümledi
> paylaşırsa çok makbule geçer...
> biraz uzun ancak yinede kodları aşağıya ekliyorum... Zaman ayırıp
> cevap yazan herkese şimdiden çok teşekkür ederim...
>
> işlemi yapan sayfa
>
> elseif($_GET['blm']=="urun") {
> $id = $_POST['id'];
> $urun_adi = tr2tr($_POST['urun_adi']);
> $urun_info = tr2tr($_POST['urun_info']);
> $urun_yazi = tr2tr($_POST['urun_yazi']);
> $kampanya = $_POST['kampanya'];
> $kategori = $_POST['kategori'];
> $new = $_POST['new'];
> $resim = $_FILES['resim'];
> $pdf = $_FILES['pdf'];
> $marka = $_POST['marka'];
> $tarih = $_POST['tarih'];
>
> $sorgu = mysql_query("SELECT id, resim, thumb, pdf FROM urun WHERE id = $id");
> while ($row_list = mysql_fetch_assoc($sorgu)){
> $eski_resim = $row_list['resim'];
> $eski_thumb = $row_list['thumb'];
> $eski_pdf = $row_list['pdf'];
> }
>
> if ($_FILES['resim']['size'] > 0){
> unlink ("$eski_resim");
> unlink ("$eski_thumb");
> $resim_adi = image_upload(200, 100, "urun_resim", "resim", 1);
> $resim = "urun_resim/".$resim_adi;
> $thumb = "urun_resim/sml_".$resim_adi;
> }
> else{
> $resim = $eski_resim;
> $thumb = $eski_thumb;
> }
>
> if ($_FILES['pdf']['size'] > 0){
> unlink ("$eski_pdf");
> $pdf_adi = pdf_upload("pdf", "pdf", 1);
> $pdf = "pdf/".$pdf_adi;
> }
> else{
> $pdf = $eski_pdf;
> }
>
> $sorgu = "UPDATE urun SET urun_adi='$urun_adi',
> urun_info='$urun_info', urun_yazi='$urun_yazi', kampanya='$kampanya',
> kategori='$kategori', new='$new', resim='$resim', thumb='$thumb',
> pdf='$pdf', marka='$marka', tarih='$tarih' WHERE id = $id";
> mysql_query($sorgu); #or die('Hata, güncellenemedi!');
> echo "<SCRIPT
> LANGUAGE=\"JavaScript\">window.location=\"panel.php\";</script>";
> }
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> bu da verileri gönderen sayfa
>
> elseif($_GET['act']=="urun") {
> ?>
> <center>
> <table width="90%" border="0" cellspacing="2" cellpadding="5">
> <tr bgcolor="#000000">
> <td width="10"><font color="#FFFFFF">#</font></td>
> <td><font color="#FFFFFF">Ba&#351;l&#305;k</font></td>
> <td><font color="#FFFFFF">Kategori</font></td>
> <td width="90"><font color="#FFFFFF">Tarih</font></td>
> <td width="80"><font color="#FFFFFF"></font></td>
> </tr>
> <?
> $sorgu = mysql_query("SELECT * FROM urun ORDER BY kategori ASC");
> $bg = 0;
> $sayac = 0;
> while ($row_list = mysql_fetch_assoc($sorgu)){
>
> $sayac = $sayac + 1;
> $renk = $bg % 2;
>
> if ($renk == 0){
> $x = "#E7F7FB";
> }
> else {
> $x = "#7AD2E9";
> }
> ?>
> <tr bgcolor="<? echo $x;?>">
> <td><?echo $sayac;?></td>
> <td><?echo $row_list['urun_adi'];?></td>
> <td><nobr><?echo
> tr2tr($kategori_dizi_list[$row_list['kategori']]);?></nobr></td>
> <td><?echo $row_list['tarih'];?></td>
> <td>
> Düzenle |
> <a href="execute.php?act=del&blm=urun&id=<?echo
> $row_list['id'];?>">Sil</a></td>
> </tr>
> <?
> $bg = $bg + 1;
> }
> ?>
> </table>
> </center>
> <?
> if(empty($_GET["id"])) {
> echo "<form id=\"myForm\" method=\"post\"
> enctype=\"multipart/form-data\"
> action=\"execute.php?act=add&blm=urun\">";
> $id="";
> $urun_adi = "";
> $urun_info = "";
> $urun_yazi = "";
> $kampanya = "";
> $kategori = "";
> $tarih = date("Y-m-d");
> $resim = "";
> $pdf = "";
> $marka = 0;
> }
> else{
> echo "<form id=\"myForm\" method=\"post\"
> enctype=\"multipart/form-data\"
> action=\"execute.php?act=edt&blm=urun\">";
> $id = $_GET["id"];
> $sorgu = mysql_query("SELECT * FROM urun WHERE id = $id");
> while ($row_list = mysql_fetch_assoc($sorgu)){
> $id = $row_list['id'];
> $urun_adi = $row_list['urun_adi'];
> $urun_info = $row_list['urun_info'];
> $urun_yazi = $row_list['urun_yazi'];
> $kampanya = $row_list['kampanya'];
> if($row_list['new']== NULL){
> $new = 0;
> }
> else{
> $new = $row_list['new'];
> }
> $kategori = $row_list['kategori'];
> $tarih = $row_list['tarih'];
> $resim = $row_list['resim'];
> $pdf = $row_list['pdf'];
> $thumb = $row_list['thumb'];
> $marka = $row_list['marka'];
> }
> }
> ?>
> <input type="hidden" name="id" value="<?echo $id;?>">
> <p><label>Ürün Ad&#305;</label><input type="text" name="urun_adi"
> value="<?echo $urun_adi;?>"></p>
> <p><label>Ürün Ön Bilgi</label><textarea name="urun_info"><?echo
> $urun_info;?></textarea></p>
> <p><label>Aç&#305;klama</label><textarea name="urun_yazi"><?echo
> $urun_yazi;?></textarea></p>
> <?
> if($resim!=NULL){
> echo "<p><label>Resim</label>
> <a href=\"".$resim."\" rel=\"lightbox\"><img src=\"".$thumb."\"
> border=\"0\" /></a></p>";
> }
> ?>
> <p><label>Yeni Resim</label><input type="file" name="resim" value="Gözat"></p>
>
> <?
> if($pdf!=NULL){
> echo "<p><label>PDF Dosyas&#305;</label>
> <a href=\"".$pdf."\">Kullan&#305;mdaki PDF Dosyas&#305;</a></p>";
> }
> ?>
>
> <p><label>Yeni PDF Dosyas&#305;</label><input type="file" name="pdf"
> value="Gözat"></p>
>
> <p><label>Ürün Markası</label><select name="marka">
> <?
> $marka_boyut = sizeof($marka_list);
> for( $y = 1; $y <= $marka_boyut; $y++){
> if ($marka == $y){
> echo "<option value=\"".$y."\"
> selected=\"selected\">".$marka_list[$y]."</option>";
> }
> else{
> echo "<option value=\"".$y."\">".$marka_list[$y]."</option>";
> }
> if($y == $marka_boyut){
> break;
> }
> }
> ?>
> </select></p>
> <p><label>Kampanya</label><select name="kampanya">
> <?
> if( $kampanya == 1){
> echo "<option value=\"1\" selected=\"selected\">Evet</option>";
> echo "<option value=\"0\">Hay&#305;r</option>";
> }
> else{
> echo "<option value=\"1\">Evet</option>";
> echo "<option value=\"0\" selected=\"selected\">Hay&#305;r</option>";
> }
> ?>
> </select></p>
> <p><label>Yeni</label><select name="new">
> <?
> if( $new == 1){
> echo "<option value=\"1\" selected=\"selected\">Evet</option>";
> echo "<option value=\"0\">Hay&#305;r</option>";
> }
> else{
> echo "<option value=\"1\">Evet</option>";
> echo "<option value=\"0\" selected=\"selected\">Hay&#305;r</option>";
> }
> ?>
> </select></p>
> <p><label>Kategori:</label><select name="kategori" id="select">
> <?
> $dizi = sizeof($kategori_dizi);
> echo "<option disabled>Pensampermetreler</option>";
> for( $x = 1; $x <= $dizi; $x++){
> echo "<option value=\"".$x."\"";
> if($kategori == $x){
> echo "selected=\"selected\">";
> }
> else{
> echo ">";
> }
> echo tr2tr($kategori_dizi[$x])."</option>";
>
> if ($x == 2){
> echo "<option disabled>Multimetreler</option>";
> }
> elseif ($x == 7){
> echo "<option disabled>Osiloskoplar</option>";
> }
> elseif ($x == 10){
> echo "<option disabled>Termometreler</option>";
> }
> elseif ($x == 14){
> echo "<option disabled>&#304;zolasyon Test Cihazlar&#305;</option>";
> }
> elseif ($x == 20){
> echo "<option disabled>Faz Kontrol Cihazlar&#305;</option>";
> }
> }
> ?>
> </select></p>
> <p><label>Tarih</label><input type="text" name="tarih" value="<?echo
> $tarih;?>"></p>
> <p><label>&nbsp;</label><input type="submit" name="button" value="Kaydet"></p>
> </form>
> <?
> }
> ?>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Thu 09 Oct 2008 - 11:50:58 EEST

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.