请帮帮我。我在访问localhost上的index.php时收到这个错误消息,我已经导入了数据库中的所有表。我使用的是PHP5.6和XAMPP3.2.2。有人能帮忙吗?
无法连接到sql server
这是我在engine.php上的代码
引擎.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");
?>
1条答案
按热度按时间erhoui1w1#
在php启动时加载驱动程序要在php启动时加载sqlsrv驱动程序,首先将驱动程序文件移到扩展目录中。然后,按照以下步骤操作:
要启用sqlsrv驱动程序,请修改php.ini,方法是在扩展部分中添加以下行,并根据需要更改文件名:
扩展名=php\u sqlsrv\u 72\u ts.dll
在linux上,如果您下载了发行版的预构建二进制文件:
扩展名=php\u sqlsrv\u 72\u nts.so
如果您已从源代码或使用pecl编译了sqlsrv二进制文件,则它将改名为sqlsrv.so:
扩展名=sqlsrv.so
要启用pdoèusqlsrv驱动程序,php数据对象(pdo)扩展必须可用,既可以作为内置扩展,也可以作为动态加载的扩展。
在windows上,预构建的php二进制文件带有pdo内置,因此不需要修改php.ini来加载它。但是,如果您已从源代码处编译了php,并指定了要生成的单独pdo扩展,则该扩展名将命名为php\u pdo.dll,您必须将其复制到扩展目录并将以下行添加到php.ini:
扩展名=php\u pdo.dll
在linux上,如果您使用系统的包管理器安装了php,那么pdo可能是作为名为pdo.so的动态加载扩展安装的。pdo扩展必须在pdo\ U sqlsrv扩展之前加载,否则加载将失败。扩展名通常使用单独的.ini文件加载,这些文件在php.ini之后读取。因此,如果pdo.so是通过其自己的.ini文件加载的,则需要在pdo之后加载pdo\u sqlsrv驱动程序的单独文件。
要找出特定于扩展名的.ini文件所在的目录,请运行php--ini并注意以下目录中列出的扫描其他.ini文件的目录:。找到加载pdo.so的文件——它的前缀可能是一个数字,比如10-pdo.ini。数字前缀表示.ini文件的加载顺序,而没有数字前缀的文件按字母顺序加载。创建一个文件来加载pdo_sqlsrv驱动程序文件,该文件名为30-pdo_sqlsrv.ini(任何大于pdo.ini前缀的数字)或pdo_sqlsrv.ini(如果pdo.ini没有数字前缀),然后向其添加以下行,并根据需要更改文件名:
扩展名=php\u pdo\u sqlsrv\u 72\u nts.so
与sqlsrv一样,如果您已经从源代码或使用pecl编译了pdo\u sqlsrv二进制文件,那么它将被命名为pdo\u sqlsrv.so:
扩展名=pdo\u sqlsrv.so
将此文件复制到包含其他.ini文件的目录。
如果您从源代码处编译了带有内置pdo支持的php,则不需要单独的.ini文件,您可以将上面的相应行添加到php.ini中。
重新启动web服务器。