2016-11-25 85 views
1

我使用MAMP建立了一個數據庫。 當我嘗試下面的測試時,我只收到一個空白頁。相當新的這一點,我已經嘗試了在網絡上發現不同的建議,沒有運氣。 嘗試使用端口和套接字。在php中測試數據庫連接失敗

<?php 
$user = 'root'; 
$password = 'root'; 
$db = 'test'; 
$host = 'localhost'; 
$port = 3306; 
$socket = "/Applications/MAMP/tmp/mysql/mysql.sock"; 

$link = mysql_connect(
    "$host:$socket", 
    $user, 
    $password 
); 
$db_selected = mysql_select_db(
    $db, 
    $link 
); 

if (!$link){ 
echo "ERROR"; 
} 
else { 
echo "Success"; 
} 
mysql_close($link); 

?> 
+0

添加的ini_set( '的display_errors',1); ini_set('error_reporting',E_ALL);查看腳本頂部的錯誤。 –

+2

由於你對此相當新:**不要學習'mysql_' **!代之以學習PDO或'mysqli_'!並開始學習如何使用*準備好的語句* http://php.net/manual/en/pdo.prepared-statements.php - 首先學習它是沒有用的,因此避免'mysql_' – Qirel

+0

@Qirel多數民衆贊成在我的答案中說,並得到-1 –

回答

-1

想試試PDO嗎?

<?php 
    $dsn = "mysql:host=localhost;dbname=databasenamehere"; 
    $user = 'root'; 
    $pass = ''; 
    $option = array(
     PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', 
    ); 

    try { 
     $connect = new PDO($dsn, $user, $pass,$option); 
     $connect->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 

    } 
    catch (PDOException $r) { 
     echo 'Failed' . $r->getMessage(); 
    } 
+0

幫助了我很長的一段時間,請參閱我的回答下面的結果 – Newbie713

0
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "root"; 



try { 
    $conn = new PDO("mysql:host=$servername;test", $username, $password); 
    // set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
echo "Connected successfully"; 
} 
catch(PDOException $e) 
{ 
echo "Connection failed: " . $e->getMessage(); 
} 
?> 
+0

你得到的錯誤是什麼?此代碼將工作,如果詳細信息是正確的它會迴應成功消息 –

+0

@NeinrappeurZaki這一個工作,我得到了「連接成功」的消息 – Newbie713

+0

很好,所以,所以使用PDO,它是更安全 –