PHP连接SQLServer报错:未定义函数mssql_select_db()求助
解决Fatal error: Call to undefined function mssql_select_db()的问题
嘿,我一眼就看出问题所在了——你混用了两套完全不兼容的SQL Server扩展函数!
错误根源
mssql_select_db()是旧版MSSQL扩展里的函数,而你当前代码用的是微软官方推荐的sqlsrv扩展(从sqlsrv_connect()就能明确看出来)。这两套扩展的API完全不互通,所以PHP找不到这个函数,直接抛出了致命错误。
而且还有个关键细节:你在$connectionInfo里已经指定了"Database"=>"Banca_de_Revista",连接时就已经默认选中了这个数据库,根本不需要再单独调用“选择数据库”的函数。
修正后的完整代码
我帮你把代码改成纯sqlsrv扩展的正确写法,去掉多余的错误逻辑:
<?php $server = "DESKTOP-RA9T588"; $connectionInfo = array( "Database"=>"Banca_de_Revista", "UID"=>"Arthur", "PWD"=>"inter190744" ); // 建立数据库连接 $conn = sqlsrv_connect($server, $connectionInfo); if ($conn) { echo "Congratulations !! The connection to the database has occurred normally!"; } else { echo "Could not connect."; die(print_r(sqlsrv_errors(), true)); } ?>
额外补充
如果之后你需要在连接后切换到其他数据库,别再用mssql的函数,而是用sqlsrv扩展执行USE语句:
// 示例:切换到其他数据库 $switchDbSql = "USE 目标数据库名"; $stmt = sqlsrv_query($conn, $switchDbSql); if (!$stmt) { die(print_r(sqlsrv_errors(), true)); }
另外提一句你原代码里的小疏漏:你写了mssql_select_db($bank, $conmssql),但你的连接句柄是$result,变量名不匹配也是潜在问题,不过不是这次报错的核心原因。
内容的提问来源于stack exchange,提问作者Arthur Gabriel Silva Arantes
相关产品推荐
相关产品推荐

