2013-08-05 9 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 Ошибка при создании базы данных:

Line 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 расширений, которые можно лучше использовать: MySQLi и PDO_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'; 
    } 
?> 
Смежные вопросы