请帮助我。访问本地主机上的index.php时收到此错误消息,我已经导入数据库中的所有表。我正在使用php 5.6和xampp 3.2.2。有人可以帮忙吗?
无法连接到SQL Server
这是我在engine.php上的代码
engine.php
<?php
class database_abc
{
var $server,
$host,
$user,
$password,
$database;
function __construct($db_name = '', $db_password = '', $db_user = '', $db_host = 'localhost', $debug = '')
{
$this->host = $db_host;
$this->user = $db_user;
$this->password = $db_password;
$this->database = $db_name;
$this->open();
}
function open()
{
$this->server = @mysql_connect($this->host, $this->user, $this->password) or die("Couldn't connect to SQL server");
@mysql_select_db($this->database, $this->server);
}
function query($sql, $debug = 0)
{
if($debug)
echo "database/query :<strong>$sql</strong>:<br>\n";
$result = @mysql_query($sql, $this->server);
if( ($sql[0] == 'i') || ($sql[0] == 'I') )
return mysql_insert_id();
while( $row = @mysql_fetch_array($result) )
$data[] = $row;
if(isset($data)){
return $data;
}
}
function queryItem($sql, $debug = 0)
{
$result = $this->query($sql." LIMIT 0,1", $debug);
return $result[0][0];
}
};
$db = new database_abc("qwerty", "admin", "root", "localhost");
?>
答案 0 :(得分:1)
在PHP启动时加载驱动程序 要在启动PHP时加载SQLSRV驱动程序,请首先将驱动程序文件移到您的扩展目录中。然后,请按照下列步骤操作:
extension = php_sqlsrv_72_ts.dll
在Linux上,如果您已经下载了预构建的二进制文件以进行分发:
extension = php_sqlsrv_72_nts.so
如果您已从源代码或使用PECL编译了SQLSRV二进制文件,则将其命名为sqlsrv.so:
extension = sqlsrv.so
在Windows上,预构建的PHP二进制文件带有内置的PDO,因此无需修改php.ini即可加载它。但是,如果您已从源代码编译PHP并指定了要构建的单独PDO扩展名,则它将被命名为php_pdo.dll,您必须将其复制到扩展名目录中,并将以下行添加到php.ini中:
extension = php_pdo.dll
在Linux上,如果已使用系统的程序包管理器安装了PHP,则PDO可能会作为动态加载的扩展名pdo.so安装。必须先加载PDO扩展,然后再加载PDO_SQLSRV扩展。扩展名通常使用单个.ini文件加载,这些文件在php.ini之后读取。因此,如果通过自己的.ini文件加载pdo.so,则需要在PDO之后加载PDO_SQLSRV驱动程序的单独文件。
要查找扩展名特定的.ini文件位于哪个目录,请运行php --ini并注意在“扫描其他.ini文件”下列出的目录:。查找加载pdo.so的文件-可能以数字为前缀,例如10-pdo.ini。数字前缀表示.ini文件的加载顺序,而没有数字前缀的文件则按字母顺序加载。创建一个文件以加载名为30-pdo_sqlsrv.ini(大于pdo.ini前缀的数字)或pdo_sqlsrv.ini(如果pdo.ini没有数字前缀)的PDO_SQLSRV驱动程序文件,并添加在其下面一行,相应地更改文件名:
extension = php_pdo_sqlsrv_72_nts.so
与SQLSRV一样,如果已从源代码或使用PECL编译了PDO_SQLSRV二进制文件,则将其命名为pdo_sqlsrv.so:
extension = pdo_sqlsrv.so
将此文件复制到包含其他.ini文件的目录中。
如果您使用内置的PDO支持从源代码编译PHP,则不需要单独的.ini文件,可以将上面的相应行添加到php.ini中。