【问题标题】:PHP connection error with the database [closed]PHP与数据库的连接错误[关闭]
【发布时间】:2014-03-07 18:43:11
【问题描述】:

我只有一个数据库,为什么它要求 2 个参数?

警告:mysqli_select_db() 需要 2 个参数,1 个在 C:\xampp\htdocs\video_upload\connect.php 第 5 行给出

<?php    
   mysqli_connect('localhost', 'root', ''); //connecting to the database    
   mysqli_select_db('video_system');   //chosing a database 
?>

【问题讨论】:

    标签: php mysql mysqli xampp


    【解决方案1】:

    mysqli_select_db 函数,在使用过程 API 时要求您将实际连接作为第一个参数传递,as shown on the man pages。此连接或链接是 mysqli_connect 返回的内容,因此您不应忽略 mysqli_connect returns 的内容,而应将其分配给变量。
    该函数的签名清楚地告诉您所有这些,所以请RTM。以下是一些复制粘贴的操作:

                                \/=============================|
    bool mysqli_select_db ( mysqli $link , string $dbname )   ||
    //returns bool         argument 1       argument 2        ||
    mysqli mysqli_connect ([...])                             ||
    //returns type mysqli  accepts vast number of arguments   ||
                  //                                          ||
                  |======== useful here =======================|
    

    这意味着你必须写:

    $db = mysqli_connect('localhost', 'root', '');
    mysqli_select_db($db, 'video_system');
    

    与手动 && 签名显示一样,此 mysqli_select_db 返回一个布尔值。 true 表示选择 DB 成功,false 表示失败。最好养成检查函数返回值的习惯。不管它看起来多么微不足道。所以:

    $db = mysqli_connect('localhost', 'root', '');
    if (!mysqli_select_db($db, 'video_system'))
    {//if return value is false, echo error message and exit script
        echo 'Failed to select db "video_system": ', mysqli_error($db), PHP_EOL;
        $db = null;//optional, but generally safer
        exit(1);//stop execution
    }
    //db selected, get to work here
    

    但是您可以轻松地省略第二个函数调用,只需将选择的 DB 名称传递给 mysqli_connect 函数即可:

    $db = mysqli_connect('127.0.0.1', 'root', '', 'video_system');
    

    这样可以节省额外函数调用的开销,从而稍微提高性能。我还将localhost 字符串更改为IP 地址127.0.0.1,这也有帮助,因为使用IP 意味着不需要将字符串解析为相应的IP 地址。
    总而言之,我认为你最好花点时间reading the documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      相关资源
      最近更新 更多