2013-08-05 80 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'; 
    } 
?>