【问题标题】:change Mysqli to sqlsrv将 Mysqli 更改为 sqlsrv
【发布时间】:2013-09-10 20:56:41
【问题描述】:

我是 PHP 新手,需要修改一些代码才能使用我的 Microsoft SQL Server 进行编译。原始代码是这样的。我是从usercake下载的

<?php
/*
UserCake Version: 2.0.2
http://usercake.com
*/

//Database Information
$db_host = "localhost"; //Host address (most likely localhost)
$db_name = "202"; //Name of Database
$db_user = "202"; //Name of database user
$db_pass = "password"; //Password for database user
$db_table_prefix = "uc_";

GLOBAL $errors;
GLOBAL $successes;

$errors = array();
$successes = array();

/* Create a new mysqli object with database connection parameters */
 $mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); 
GLOBAL $mysqli;

if(mysqli_connect_errno()) {
echo "Connection Failed: " . mysqli_connect_errno();
exit();
}

//Direct to install directory, if it exists
if(is_dir("install/"))
{
header("Location: install/");
die();

}

?>

我已经安装了 sqlsrv 并测试了链接。它适用于我的数据库。然后我把代码改成这样:

<?php

//Database Information
$server = "servername";
$connectionInfo = array("Database"=>"databasename","UID"=>"xxxxxx", "PWD"=>"xxxxxx" );
$db_table_prefix = "uc_";

GLOBAL $errors;
GLOBAL $successes;

$errors = array();
$successes = array();

/* Create a new sqlsrv object with database connection parameters */

$mssqlsrv = new sqlsrv($server, $connectionInfo);
GLOBAL $mssqlsrv;

if(sqlsrv_connect_errno()) {
  echo "Connection Failed: " . sqlsrv_connect_errno();
  exit();
}

//Direct to install directory, if it exists
if(is_dir("install/"))
{
  header("Location: install/");
  die();
}

?>

我收到以下错误消息:

致命错误:在

中找不到类“mssql”

我认为这行是问题所在:

$mssqlsrv = 新 sqlsrv($server, $connectionInfo);

但我不知道如何解决这个问题。

【问题讨论】:

    标签: php sql-server sqlsrv


    【解决方案1】:

    在这种情况下我会使用 PDO:http://www.php.net/manual/en/pdo.construct.php

    您可以创建到 SQL Server 的 DSN 连接

    $dsn = "sqlsrv:Server=servername;Database=databasename"
    
    $user = 'dbuser';
    $password = 'dbpass';
    
    try {
       $dbh = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    

    连接到 SQL 服务器的信息在这里:http://www.php.net/manual/en/ref.pdo-sqlsrv.connection.php

    【讨论】:

    • 非常感谢。我会试试的:)
    猜你喜欢
    • 2023-04-03
    • 2019-08-25
    • 1970-01-01
    • 2010-11-26
    • 2020-01-29
    • 2018-02-07
    • 2014-02-05
    相关资源
    最近更新 更多