Php 没有选择数据库

Php 没有选择数据库,php,mysql,mysqli,Php,Mysql,Mysqli,我一直在试图找出数据库连接中的错误,我读了几个答案,建议确保密码授予完全访问权限。。。我检查了所有问题,但问题仍然存在 我的问题是。。。我知道mysqli在这种情况下更好(从我所读到的),所以。。。 如果我将mt$dbcon替换为 $dbcon = mysqli_connect("$host","$username","$password","$db_name") ; 这能解决问题吗?如果能,我该如何摆脱永无止境 mysqli\u错误只需要1个参数,0给定。。。错误 我的php是 &l

我一直在试图找出数据库连接中的错误,我读了几个答案,建议确保密码授予完全访问权限。。。我检查了所有问题,但问题仍然存在

我的问题是。。。我知道mysqli在这种情况下更好(从我所读到的),所以。。。 如果我将mt$dbcon替换为

$dbcon = mysqli_connect("$host","$username","$password","$db_name") ;
这能解决问题吗?如果能,我该如何摆脱永无止境 mysqli\u错误只需要1个参数,0给定。。。错误

我的php是

    <?php
        $host="****" ;
        $username="****" ;
        $password="****" ;
        $db_name="****" ;
        $tbl_name="courses" ;
            $dbcon = mysql_connect("$host","$username","$password","$db_name") ;            

            if (!$dbcon) {
            die('error connecting to database'); }

            echo 'Courses successfully registerd , ' ;  

        // escape variables for security
        $studentid = ( $_GET['studentid']);
        $fname = $_POST["name"]; //echo $studentid;
    $query=mysql_query("select * from courses where studentid='".$studentid."' ") or die(mysql_error());
        $duplicate=mysql_num_rows($query);
       if($duplicate==0)
        {
          $query1=mysql_query("insert into user values('".$studentid."')")  or die(mysql_error());
        }
        else
        {
          echo'The ID you entered '.$studentid.' already registered, please wait 24 hours until you can register again';
        }

    // Get Cources
    $name = $_GET['ckb'];
    if(isset($_GET['ckb']))
    {
    foreach ($name as $courcess){
    $cc=$cc. $courcess.',';
    }
    }





    $sql="INSERT INTO courses (studentid, ckb, name)
    VALUES ('$studentid', '$cc', $fname)";

    if (!mysql_query($dbcon,$sql)) {
    die('Error: ' . mysqli_error($dbcon));
}
echo "  Thank you for using IME Virtual Registeration  ";   
        mysql_close($dbcon);
?>

虽然我们现在主要使用PDO接口,但以下代码也用于使用一些简单的命令行脚本连接到数据库:

$sql_link=mysql_connect ('host','user','password') or die('Cannot connect to the database because: ' . mysql_error());
if (!$sql_link) {
    echo('Could not connect to database : ' . mysql_error());
    exit;
}
mysql_select_db('database_name') or die(mysql_error());

希望有帮助

问题出在第7行的PHP中。mysql_connect()具有以下参数:

mysql_connect(string $server, string $username, string $password, @optional bool $new_link = false, @optional int $client_flags = 0)
您正在给第四个参数$db_name=error(第四个参数必须是布尔值,如您所见)。有一个函数mysql_select_db()告诉PHP您使用的是哪个数据库。这是你第七行的翻修:

$dbcon = mysql_connect("$host","$username","$password");
mysql_select_db("$db_name");
但是我建议您使用mysqli或PDO->它们是内置的PHP库,所以您不必下载任何东西,更重要的是它们易于使用。
祝您好运:)

您需要将数据库句柄传递给函数,因此需要
mysqli\u error($dbcon)
。您还需要更改所有mysql函数以使用mysqli,因为它们不兼容。我不明白,如何将数据库句柄传递给函数?什么功能?你的问题不清楚。您的代码使用了
mysql\u-connect
,但随后您询问了
mysqli\u-connect
。您是否正在将代码从
mysql
转换为
mysqli
,并询问如何进行转换?或者只是询问如何解决
mysql
代码中的问题?您的代码的基本问题是
mysql\u connect()
没有
$db\u name
参数,您必须在连接后调用
mysql\u select\u db()
。您不能混合使用
mysql\u XXX
mysqli\u XXX
函数,它们是完全不相关的接口,只是它们都连接到一个MySQL数据库。表“1662822\u db1.user”不存在,现在它将我的db\u名称与我的表名“courses”混淆了。。