1

所以我不确定为什么 PHP 没有创建数据库。让我先展示一下我的代码是什么样子,然后我会引用它给我的警告/错误:

<?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():无法在第 51 行的 B:\DropBox\Dropbox\EbadlyAgha\Ebad\reminders.php 中建立到服务器的链接 创建数据库时出错:

第 51 行就是那里if (mysql_query($sql, $con))。此外,它不会给我mysqli_error($con). 它只是空白。

我的 MySQL 连接很好,因为我从来没有看到“无法连接到 MySQL”的语句。

4

3 回答 3

6

它应该在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.

于 2013-08-05T06:04:14.187 回答
0

您的连接是由 mysqli 库生成的:

$con = mysqli_connect

但您正在尝试使用 mysql 库查询它:

mysql_query($sql,$con)

您需要对使用的库保持一致。始终坚持使用 mysqli(因为不推荐使用 mysql)。

请注意,mysqli_query 需要 SQL 之前的连接:

mysqli_query($con, $sql); 
于 2013-08-05T06:07:22.567 回答
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';
    }
?>
于 2014-02-22T04:26:48.943 回答