2013-08-05 141 views
1

所以我不確定PHP爲什麼不創建數據庫。讓我告訴我的代碼看起來像第一個,然後我會引述警告/錯誤它給我:PHP不創建MySQL數據庫

<?php 
    // Connection 
    $con = mysqli_connect("localhost", "root", "1monica1"); 

    // Check connection 
    if (mysqli_connect_errno($con)) 
    { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    // Creating a database 
    // The database is called alarm_db 
    $sql = "CREATE DATABASE alarm_db"; 
    if (mysql_query($sql, $con)) 
    { 
     echo "Database alarm_db created sucessfully"; 
    } 
    else 
    { 
     echo "Error creating database: " . mysqli_error($con); 
    } 
?> 

的錯誤和警告我不斷收到的是:

警告:請求mysql_query( ):到服務器的鏈接無法B中建立:\ DropBox的\ Dropbox的\ EbadlyAgha \ Ebad \上線reminders.php 51 錯誤創建數據庫:51

行是該if (mysql_query($sql, $con))是。另外,它不會給我mysqli_error($con)。它只是空白。

我的MySQL連接很好,因爲我從來沒有看到「無法連接到MySQL」語句。

回答

5

執行數據庫創建查詢時應該在mysqli_*

if (mysqli_query($sql,$con)) { 
    echo "Database alarm_db created sucessfully"; 
} 

儘量避免mysql_*語句由於整個ext/mysql PHP擴展,它提供了與前綴mysql_*命名的所有功能,被正式棄用的PHP v5.5.0,並將於在未來刪除。

有兩個其他MySQL的擴展,可以更好地利用:MySQLiPDO_MySQL,其中任何一個都可以用來代替ext/mysql

0

正在和mysqli庫生成的連接:

$con = mysqli_connect 

,但是你想使用mysql庫進行查詢:

mysql_query($sql,$con) 

你需要了解你使用的庫一致。始終堅持mysqli(因爲mysql已被棄用)。

注意mysqli_query預計SQL之前的連接:

mysqli_query($con, $sql); 
+0

是這個工作,謝謝。 –

0

你可以試試這個創建使用PHP數據庫:

<?php 
    $con = mysql_connect('localhost', 'root', ''); 
    $query = mysql_query('create database alarm_db') or die(mysql_error()); 
    if($query) 
    { 
     echo 'Database is created'; 
    } 
    else 
    { 
     echo 'Database is not created'; 
    } 
?>