You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用osCommerce连接MySQL遇mysqli_select_db参数错误求助

解决mysqli_select_db()参数不足的错误(osCommerce数据库连接问题)

Hey there! 刚看到你在搭建osCommerce时遇到的数据库连接错误,这个问题其实很容易搞定——错误提示已经说得很清楚:mysqli_select_db()需要恰好2个参数,但你第24行的代码只传了1个。

错误原因拆解

你现在的代码里写的是:

if ($$link) mysqli_select_db($database);

而mysqli_select_db()的正确调用格式是:mysqli_select_db(连接句柄, 数据库名),你漏掉了第一个必填的「数据库连接对象」参数,也就是你前面用mysqli_connect()或mysqli_pconnect()创建的$$link。

修复方案

把第24行的代码改成下面这样就可以了:

if ($$link) mysqli_select_db($$link, $database);

完整的修复后的函数片段参考:

function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') {
    global $$link;

    if (USE_PCONNECT == 'true') {
        $$link = mysqli_pconnect($server, $username, $password);
    } else {
        $$link = mysqli_connect($server, $username, $password);
    }

    // 修正后的数据库选择语句
    if ($$link) mysqli_select_db($$link, $database);

    return $$link;
}

额外排查建议

为了避免后续踩坑,还可以做这几个检查:

  • 确认includes/configure.php里的DB_DATABASE、DB_SERVER、DB_SERVER_USERNAME、DB_SERVER_PASSWORD这些常量已经正确配置,值要和你的MySQL数据库信息完全匹配
  • 如果修复后还是有问题,可以加上错误捕获代码,方便定位具体问题:
    if ($$link) {
        if (!mysqli_select_db($$link, $database)) {
            die('数据库选择失败: ' . mysqli_error($$link));
        }
    } else {
        die('数据库连接失败: ' . mysqli_connect_error());
    }
    

内容的提问来源于stack exchange,提问作者RA19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:37:44