Eğer insert sonucu kontrol etmek mysql_error ($ con) veya mysql_insert_id ($ con) kullanıyor musunuz?

2 Cevap php
$dml = "insert into table ...";
mysql_query($dml,$con);

O da bıraktı eğer bir table.then içine yukarıdaki insert şey kontrol edebilirsiniz

if('' == mysql_error($con))...

veya

if($id = mysql_insert_id($con))...

Seçim ve nedeni nedir?

Ikisi de çalışırken MEZUNLARI, altında hala zorlama $ id olacak, ben henüz denedim değil:

$err = mysql_error($con);
$id = mysql_insert_id($con);

2 Cevap

Ben kullanmak mysql_error. Bu hata programın diğer bölgelerinde denetimi ile daha tutarlı b / c ben yapmak ve hata sadece yanlış bir değer alma yerine neden oluştu anlayacağım.

mysql_error() ekleme işlemi başarısız olursa, her zaman bir hata atmak olacaktır, bu yüzden daha fazla işlem için ihtiyacınız olmadıkça insert_id getiriliyor, bildiğim kadarıyla gördüğünüz gibi gerçekten gerekli değildir.

Sizin kod bloğu ancak manual sorgu veren hemen sonra () insert_id çalıştırmak için önerir, çalışması gerekir.

Not: mysql_insert_id () son yapılan sorguda davranır Çünkü, hemen bir değer üretir sorgudan sonra mysql_insert_id () aramak emin olun.