没有数据库选择PHP

时间:2014-09-05 22:18:43

标签: php mysql mysqli

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

我的问题是......我理解mysqli在这种情况下更好(从我读到的)所以...... 如果我用

替换mt $ dbcon
$dbcon = mysqli_connect("$host","$username","$password","$db_name") ;

将解决问题,如果确实如此,我如何摆脱永无止境的问题 mysqli_error正好需要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);
?>

2 个答案:

答案 0 :(得分:1)

虽然我们现在主要使用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());

希望有所帮助!

答案 1 :(得分:1)

问题出在你的PHP第7行.mysql_connect()有这些参数:

mysql_connect(string $server, string $username, string $password, @optional bool $new_link = false, @optional int $client_flags = 0)

你给的是第四个参数$ db_name = MISTAKE (第四个参数必须是布尔值,你可以看到。)有一个函数 mysql_select_db()告诉PHP哪个数据库你正在用吗。所以这是你的第7行的返工:

$dbcon = mysql_connect("$host","$username","$password");
mysql_select_db("$db_name");

但我建议您使用mysqli或PDO - &gt;它们是内置的PHP库,因此您不必下载任何内容,更重要的是它们易于使用。 祝你好运:)