2 尝试使用 mysql 将数据插入数据库时出错


2 Errors trying to insert data into a database using mysql

很抱歉,这可能是一个愚蠢的问题,但我是新手,在谷歌上找不到答案。这段代码给了我两个错误:

Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:'xampp'htdocs'Music Collection'submitmusic.php on line 27

Warning: mysql_error() expects parameter 1 to be resource, string given in C:'xampp'htdocs'Music Collection'submitmusic.php on line 29

不知道如何解决这个问题,请帮助我。

<html>
    <head>
        <title> Music Collection </title>
    </head>
    <body>
    <?php
    $con = "mysql_connect ('localhost','root','','music')";
    // Check Connection
    if (mysql_errno())
    {
        echo "Failed to connect: " . mysql_error();
    }
    else
    {
        $title = $_POST['title'];
        $artist = $_POST['artist'];
        $album = $_POST['album'];
        $location = $_POST['location'];
        $media = $_POST['media'];
        $sql = mysql_query("INSERT INTO entries (Title, Artist, Album, Location, Media) VALUES ('$title','$artist','$album','$location','$media')");
        if (!mysql_query($con,$sql))
        {
            die ('Error: ' . mysql_error($con));
        }
        else
        {
            echo "record added!";
        }
    }
    mysql_close($con);
    ?>
    </body>
</html>

删除双引号:

$con = "mysql_connect ('localhost','root','','music')";
  1. 仅使用mysqli_.mysql_已被弃用,可能很快就会从 PHP 中删除
  2. 您的连接是错误的。应如下所示:

    $con = mysql_connect("本地主机","根",","音乐");

您还调用了两次mysql_query,除非您想要两个插入,否则您可能希望执行以下操作:

$sql = mysql_query("INSERT INTO entries (Title, Artist, Album, Location, Media) VALUES ('$title','$artist','$album','$location','$media')");
if (!sql)
...

将您的语句更改为

$sql = mysql_query("INSERT INTO entries (Title, Artist, Album, Location, Media) VALUES ('$title','$artist','$album','$location','$media')",$con);

首先删除双引号:

$con = "mysql_connect ('localhost','root','','music')";

$con = mysql_connect ('localhost','root','','music');

然后更改以下行

if (!mysql_query($con,$sql))

if (!mysql_query($sql,$con))

因为mysql_query的第一个参数必须是 SQL 查询和第二个数据库标识符。

其余代码很好