2016-03-21 27 views
1

Son zamanlarda Ubuntu 14.0 masaüstünü kullanarak bir Oracle VM VirtualBox'a LAMP sunucusu kurdum, böylece MySQL veritabanlarıyla PHP etkileşimleri hakkında bilgi edindim.Bir veritabanına bağlantı kurun

Veritabanım ile bağlantı kuramıyorum. Yanlış bir kullanıcı adı kullansam bile herhangi bir hata mesajı vermez. LAMP'ı doğru şekilde kurduğumu biliyorum çünkü localhost'ta başka PHP dosyaları çalıştırıyorum.

<?php 
function conexao() { 
$db = 'webservice'; 
$user = 'xxxxx'; 
$pass = 'xxxxx'; 
$host = 'localhost'; 
$conn = mysql_connect($host,$user,$pass); 
mysql_select_db($db); 
} 
conexao(); 
?> 

benim bağlantı bilgileri yanlış olduğunda, doğru bir ileti almam gerekiyordu:

Bu benim senaryom? Eh, hiçbir şey olmaz, her bilgi iyi olduğunda olduğu gibi.

+1

PHP sürüm 7 kullanıyor musunuz? "Mysqli" yi ya da "pdo" 'yu ​​kullanmalısın ama PHP 7'de mysql_' işlevleri yok. Hata kayıtlarınızı veya sadece oluşturulan sayfayı kontrol ettiniz mi? – chris85

+0

@ chris85 Peki konu hakkında oldukça yeni biriyim. Herhangi bir kayıt görmedim, bu yüzden sadece insanların ne yaptığını gözlemlemek ve onu yeniden üretmeye çalışıyorum, bu da pek işe yaramıyor ... – MuriloRM

+1

Add error_reporting (-1); ini_set ('display_errors', 1); ini_set ('display_startup_errors', 1); 'komut dosyanızın başlangıcına. Hata kaydınızın nerede bulunduğundan emin değilsiniz, ancak PHP sürümünüz http://php.net/manual/en/function.phpinfo.php adresinden edinilebilir. – chris85

cevap

2

Eğer ben bu muhtemelen Senaryoyu aradığınız isteği ile bir hata var çalışmazsa benim db

<?php 
define("HOST", "localhost"); // The host you want to connect to. 
define("USER", "username"); // The database username. 
define("PASSWORD", "password"); // The database password. 
define("DATABASE", "webservice"); // The database name. 

date_default_timezone_set('Europe/Stockholm'); 

$con = mysqli_connect(HOST, USER, PASSWORD, DATABASE); 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error() . "\n"; 
} 
mysqli_set_charset($con, "utf8"); 
?> 

bağlanmak için kullanıyorum bu senaryoyu deneyebilirsin.

+0

Hızlı cevap için teşekkürler. Bu betiği denedim ve bu sefer kasıtlı olarak yanlış bir şifre yazdığımda bana bir hata veriyor, bu yüzden çalıştığını mu varsayıyorum? Şu anda bu db'den bazı verilere erişen bazı testler yapmanız gerekiyor. – MuriloRM

1
function conexao() { 
$db = 'webservice'; 
$user = 'xxxxx'; 
$pass = 'xxxxx'; 
$host = 'localhost'; 

$conn = mysql_connect($host,$user,$pass); 
if(!$conn){ 
$retval = 'Could not Connect' . mysql_error(); 
} 
else if(!mysql_select_db($db)){ 
$retval = 'Could not select db' . mysql_error(); 
} 
else{ 
$retval = 'Success'; 
} 

return $retval; 
} // end of function 

Artık işlevinizde çağrı işlemi buna uygun olarak gerçekleşiyor. *** mysql, kullanımdan ziyade mysqli veya PDO kullanımdan kaldırıldı.

}

+0

Evet, dönüş mesajları alıp almama rağmen bazı sebeplerden dolayı işe yaramıyor ... Hala yanıt olarak boş bir sayfa var. – MuriloRM

İlgili konular