Eski değişmeyen değer veritabanına boş gidiyor.
Kullandım çünkü yeni kayıt olanlar için NULL dönen değerler var, bunları engelliyor..
Php
kullandıgın islem icin mysqli_affected_rows(); ile veri tabanını kontrol et
Php
yada en garantisi transaction kullanman ama transaction kullanman icin olusturdugun veritabanı motorunun myisam olmaması gerekmektedir bu sekilde eger herhangi bir hata donerse veritabanındaki islemleri geri alır
ornek kullanım
<?php
mysql_query("BEGIN"); // transaction baslattik
$sorgu=mysql_query("sorgu cumlesi"); // sorgumuzu gonderdik
if(!$sorgu) mysql_query("ROLLBACK"); // eger sorgu basarısız ise yapılan degisiklikleri geri aldık
mysql_query("COMMIT"); // transaction bitirdik
?>
Php
Denediğim ikinci kontrol kısmında; ilk if kontrolünde resim sunucuya yükleniyor;
Warning: mysql_affected_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\profilDuzenle.php on line 110
else kısmında da aynı hata; yine boş dönüyor :/
Warning: mysql_affected_rows() expects parameter 1 to be resource, string given in C:\xampp\htdocs\profilDuzenle.php on line 111
Php
affected rows kullanımları icin phpnet bakabilirsin ama orada sen affected rows kullanabilmen icin affected rowsu yazdıgın yere queryi de yazman gerekmekte
zaten öyle yapmıştım ama yanlış kullanmışım,, bu problem net olarak xampp dan mı kaynaklanıyor olabilir.
Php
if(isset($_FILES['profilResim']['name'])){
$profilResim = $uyeUrl_."/".$_FILES['profilResim']['name'];
move_uploaded_file($_FILES['profilResim']['tmp_name'],$profilResim);
mysql_query("UPDATE uye SET profil_resim='".$profilResim."'".$W) or die(mysql_error());
printf("\tIF: %d\n",mysql_affected_rows());
}else{
mysql_query("UPDATE uye SET profil_resim='".$profilEski."'".$W) or die(mysql_error());
printf("\tELSE: %d\n",mysql_affected_rows());
}
Profil resmi boş iken, resim yüklediğimde;
IF: 1
Profil resmi varken, sorguyu boş gönderdiğimde;(boş gönderdiğim ile aynı hatayı alıyorum)
IF: 1
----
MySQL hatası yok ki, acaba error_reporting(E_ALL ^ E_NOTICE); bu ifade engelliyor mu? Ama bu ifadeyi kullanmadığımda null değerler olabileceğinden kullanmama gerekiyor yoksa;
Notice: Undefined index: galeri1 in C:\xampp\htdocs\rus\profilDuzenle.php on line xx
NULL değerlerin tanımlanmadığını söylüyor doğal olarak.. Başkada bir hata yok.. profil_resim boş olduğu için NULL dönmüyor. Yani sadece galeriler NULL gönderildiği için hata alıyorum..
PHP ve MySQL de yeniyim uğraştırıyorum sizleri kusura bakmayın :/
Yardımlarınız için teşekkür ederim..
İyi çalışmalar..
Php
Çözdüm oni!! Bu ne biçim mantık diycem de her şey sayı olduğu için programlamada mantıklı oluyor. Tek if kontrolü ile çözdüm..
if(strlen($_FILES['profilResim']['name']) != 0){
alert("Resim Seçtiniz: ".$_FILES['profilResim']['name']."\nEski Resim: ".$profilEski);
$profilResim = $uyeUrl_."/".$_FILES['profilResim']['name'];
move_uploaded_file($_FILES['profilResim']['tmp_name'],$profilResim);
mysql_query("UPDATE uye SET profil_resim='".$profilResim."'".$W) or die(mysql_error());
}