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(): サーバーへのリンクを B:\DropBox\Dropbox\EbadlyAgha\Ebad\reminders.php 行 51 で確立できませんでした データベースの作成中にエラーが発生しました:

行 51 は、ある場所if (mysql_query($sql, $con))です。また、それは私にmysqli_error($con). それはただの空白です。

「MySQL への接続に失敗しました」というステートメントが表示されないため、MySQL 接続は問題ありません。

4

3 に答える 3

6

mysqli_*DB作成クエリの実行中に入っているはずです。

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

プレフィックスで名前が付けられたすべての関数を提供する拡張機能全体が現時点で公式に非推奨であり、将来的に削除されるため、mysql_*ステートメントを避けるようにしてください。ext/mysql PHPmysql_*PHP v5.5.0

より適切に使用できる他の 2 つの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 に答える