PHP mysqli hata dönüş zamanı

2 Cevap php

I temel bir soru sorabilir miyim. Ben geçersiz veritabanı bilgilenmek (yanlış bir veritabanı adı diyelim) ile php yeni mysqli nesnesi oluşturmak için çalıştığımda neden Intstantly bir hata döndürmez? Ben genellikle program sunucusu Java şeyler ve bu böyle bir şey değil 20 saniye kadar sonra, uzak boğaz bir hata geri atmak istiyorum.

Örneğin

$conn = new mysqli($host, $username,    $password, $database);

Teşekkürler!

2 Cevap

Ev sahibi, kullanıcı adı ve şifre hepsi doğru ise, yanlış bir veritabanı adı hemen dönecektir. Eğer ana bilgisayar adı yanlış varsa Ancak, bağlantı girişimi ilk zaman aşımı zorunda kalacaktır. Yanlış kullanıcı adı ve şifre hataları da hemen iade edilir.

Isteği önemli bir kimlik eksik gibi, geçersiz ya da yanlış olmasıdır; veya veritabanı erişilebilir değil.

Ana bilgisayar adı, kullanıcı adı ve / veya şifre yanlış ise, SQL isteği geri dönmek için önce zaman aşımı zorunda kalacak. PHP standart aşımı süresi I, 20 saniye inanmak, ayarlanır, bu nedenle ne yaşıyorsanız çok iyi maç olacak. Bu sadece yapacak gibi not, geçersiz bir veritabanı adı ile olur rağmen isteği hemen başarısız.

Bir hata denetlemek için, PHP hata şartname almak için mysql_error() arayabilir, ya da mysql_errno() sadece hata kodu almak için. Standart zaman aşımı süresi (buna erişiminiz varsa) php.ini dosyasını düzenleyerek daha düşük bir değere ayarlanabilir; mysql.connect_timeout (ki php.ini de,) sen isterdin ne zaman aşımı süresi, saniye ardından değerini ayarlayın. Normal durumlarda, 5 saniye veya daha fazla bir zaman aşımı süresi hatta belki de gereksiz yere büyük, iyi.