Php - Mysql_Query Hata Denetimi
-
mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");
bu gibi querylerde, querynin başarıyla çalışıp çalışmadığını nasıl anlarız?Yani if le bakcam başarılı olmuşsa, hayırlı olsun , yoksa hata oluştu dicek.
(php icinden phpmyadmine bak gibi cevaplar yazilmasin :P)
-
if (mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')"))
{
echo "ok oldu";
}
else
{
echo "hata var siktir";
} -
saol da baktim php sitesinden, mysql_query syntaxa gore true/false donduruomus. orda yazana gore.
bide ben
$x=mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");
if (!$x)
{
print "hata war";
}
bu sekilde ayni seyi ifade etmiormu?Bu olmuyor da .
-
gVeR bunu yazdı:
-----------------------------saol da baktim php sitesinden, mysql_query syntaxa gore true/false donduruomus. orda yazana gore.
bide ben
$x=mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')");
if (!$x)
{
print "hata war";
}
bu sekilde ayni seyi ifade etmiormu?Bu olmuyor da .
-----------------------------
aynı şeyi ifade etmesi lazım hangi hata veriyo birde php5de trylı catchli hata yoneticisi var ona gecsene artık -
hata wermior, calismior.
if (!$x)
print "bilmemne";
diorm, calismasa bile bilmemne yazmior.O sql in basarili calisip calismadigina deil syntax in dogru olup olmadigina bakiormus sanirsam.
php.net ten baktim ve anladigim kadariyla
-
halen yardim beklenior pehepeciler
-
Hocam hatadan kastin nedir?
insert kodunda hata varsa, benim bildiğim kullanıcıya yansıtamazsın. Ama tablo oluştururken sütünü birincil yaptın diyelim aynı kaydı ikinci girişinde ifle yazdığım kodun çıktısı, "hata var siktir" olacaktır.Ayrı bir konuda, senin yazmış olduğun kodun benimkiyle çok farkı yok, anlatıma gelecek olursak;
$sql="insert into uyeler (id,user,sifre) values ('id','üyeadı','şifre')"; // buradaki (id,user,sifre) sütün isimleri oluyor. valuesteki değerlerde formdan gelen veriler oluyor.
$x=mysql_query($sql); // $x değişkendir, değişkenimizi tanımladık. (insert kodunu düzenledim, çalışması lazım)if (!$x) // !$x demek, eğer sonuç false yani olumsuzsa printi çalıştır demektir.
{
print "hata war";
} -
hojam simdi
if (mysql_query("INSERT INTO uyeler VALUES('id','üyeadı','şifre')"))
bu query i ekledim sayfaya.Adam tam üye olcakken, server da mysql kapandi.Bu durumda bu uyelik eklenemeyecek.İste ben eklenip eklenemedigini nasil anlayacam?.Yada
mysql_query("SELECT uye_adi FROM uyeler WHERE id='999999'");
simdi adam idyi 9999999 girdi bole bi id yok normalde.Simdi bunu mysql_result fln kullanmadan hatali oldugunu nasil anlarim?
ikisiden biri yeterli :P
-
Birinci MySQL kapanması ve connection hataları için, bağlantı kodunu şu şekilde düzenlemen gerekli;
@mysql_connect(bağlantı bilgilerin) or die ("MySQL Bağlantısı Sağlanamadı");
@mysql_db_select(bağlantı bilgilerin) or die ("DB Seçilirken Problem oluştu");Buradaki @ PHP'nin kendi hatasını gizlemen içindir, bu bağlantı bilgilerin include veyahut sayfanın üstünde kod ile ekliyse DB problemlerinde sitede aynen o hatayı verecek ve işlem yapılmayacaktır.
İkinci sorunada, sanırsam sen o id'i get ile alacaksın açıklamaya gelince;
URL şu: "uyedetay.php?id=99999" adam burdaki idi salladı ve böyle bir id yok, sende id de bir kullanıcı olmadığı için hata verdirtmek istiyorsun sanırsam. Bunu yapabilmen için mysql_num_rows kullanmalısın şu şekilde olabilir;
$sql=mysql_query("SELECT uye_adi FROM uyeler WHERE id='999999'"); // o idi get ile aldığını varsayıyorum
if (mysql_num_rows($sql)=="0") // hata varsa 0 değeri alınır
{
echo "böyle bir kullanıcı yok";
exit; // yürülmekte olan işlemi durdurur alttaki kodları çalıştırmaz
}
