怎么配置apache连接sqlserver
网页中显示错误Fatalerror:Calltoundefinedfunctionmssql_connect()inC:\AppServ\www\online_ks\co...
网页中显示错误Fatal error: Call to undefined function mssql_connect() in C:\AppServ\www\online_ks\conn\conn.php on line 2
可以进入主页面但关于数据库的操作就出现上述错误,以用过方法:在进行php连接sql server的时候出现了
Fatal error: Call to undefined function: mssql_connect() in错误。
mssql_connect() 是php的内部代码,不可能未定义。
进入php的安装目录,找到php.ini,打开找到
;extension=php_mssql.dll 去掉该行前面表示注释的分号,保存后重启apache。
还是没用请高人赐教,补充下我用的apache时用了个傻瓜版的自带了个mysql,但由于数据库文件的原因,必须使用sqlserver
那个已经被我改成extension=php_mssql.dll了,数据库是否要装在appserver目录下? 展开
可以进入主页面但关于数据库的操作就出现上述错误,以用过方法:在进行php连接sql server的时候出现了
Fatal error: Call to undefined function: mssql_connect() in错误。
mssql_connect() 是php的内部代码,不可能未定义。
进入php的安装目录,找到php.ini,打开找到
;extension=php_mssql.dll 去掉该行前面表示注释的分号,保存后重启apache。
还是没用请高人赐教,补充下我用的apache时用了个傻瓜版的自带了个mysql,但由于数据库文件的原因,必须使用sqlserver
那个已经被我改成extension=php_mssql.dll了,数据库是否要装在appserver目录下? 展开
4个回答
展开全部
下载驱动程序,下载后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)
?
关于VC6和VC9的区别
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。
?
开始配置
选择php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini
的Extensions后面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
再重启Apache服务。
最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!
?
1.Windows Authentication连接
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
?>
?
2.SQL Server Authentication连接
?
<?php
$serverName = "localhost"; //数据库服务器地址
$uid = "sa"; //数据库用户名
$pwd = "123"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"cart");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
//执行有结果集的SQL语句
$query = sqlsrv_query($conn, "select * from tb_goods");
while($row = sqlsrv_fetch_array($query))
{
echo $row[0]."-----".$row[1]."<br/>";
}
//执行增删改的SQL语句
?$rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'");
?$num=sqlsrv_rows_affected($rs);//返回修改的行数
?if($num>0)
{
echo '修改成功!'.$num?;
}
else
{
echo '修改失败!';
}
?>
?
用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv函数都以 sqlsrv_打头,
SQL Server Driver for PHP 包含以下函数:
函数 说明
sqlsrv_begin_transaction 开始事务。
sqlsrv_cancel 取消语句;并放弃相应语句的所有未决结果。
sqlsrv_client_info 提供有关客户端的信息。
sqlsrv_close 关闭连接。释放与相应连接关联的所有资源。
sqlsrv_commit 提交事务。
sqlsrv_configure 更改错误处理和日志记录配置。
sqlsrv_connect 创建一个连接,并将其打开。
sqlsrv_errors 返回关于上一操作的错误和/或警告信息。
sqlsrv_execute 执行预定义语句。
sqlsrv_fetch 使下一行的数据可供读取。
sqlsrv_fetch_array 以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。
sqlsrv_fetch_object 以对象形式检索下一行的数据。
sqlsrv_field_metadata 返回字段元数据。
sqlsrv_free_stmt 关闭语句。释放与相应语句关联的所有资源。
sqlsrv_get_config 返回指定配置设置的值。
sqlsrv_get_field 按索引检索当前行中的字段。可以指定 PHP 返回类型。
sqlsrv_has_rows 检测结果集是否具有一行或多行。
sqlsrv_next_result 使下一结果可供处理。
sqlsrv_num_rows 报告结果集中的行数。
sqlsrv_num_fields 检索活动结果集中的字段数。
sqlsrv_prepare 准备 Transact-SQL 查询,但不执行该查询。隐式绑定参数。
sqlsrv_query 准备 Transact-SQL 查询,并将其执行。
sqlsrv_rollback 回滚事务。
sqlsrv_rows_affected 返回有所修改的行的数目。
sqlsrv_send_stream_data 在每次调用函数时向服务器发送最多八千字节 (8 KB) 的数据。
sqlsrv_server_info 提供有关服务器的信息。
Linux下PHP 5.2.17测试成功
tar zxvf freetds-0.8.2.tar.gz
cd freetds-0.8.2/
./configure --enable-msdblib --prefix=/usr/local/freetds --with-tdsver=8.0
make && make install
cd /home/lnmp0.9/php-5.2.17/ext/mssql/ 依个人可能不同
/usr/local/php/bin/phpize ####php扩展信息
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make && make install
vim /usr/local/php/etc/php.ini
在extension = "pdo_mysql.so"下面添加
extension = "mssql.so"
保存后,/root/lnmp restart 即可
若搜索的结果有中文乱码则
vim /usr/local/freetds/etc/freetds.conf
[global] 加上
client charset = utf8
$sql=mssql_connect('192.168.0.185','sa','1','1433');
mssql_select_db('test',$sql);
$result=mssql_query("select top 10 * from test1")
while($row=mssql_fetch_assoc($result)){
print_r($rows);
}
freetds-0.8.2.tar.gz下载地址:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
SQLServerDriverForPHP.chm(手册,英文够好的话,可以看看,嘿嘿)
SQLServerDriverForPHP_License.rtf
SQLServerDriverForPHP_Readme.htm(自述文件)
?
关于VC6和VC9的区别
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你是在windows下使用Apache+PHP的,请选择VC6版本。
VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你是在windows下使用IIS+PHP的,请选择VC9版本。
?
开始配置
选择php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把文件拷贝到PHP文件夹下的ext目录下,然后在配置文件php.ini
的Extensions后面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
再重启Apache服务。
最后测试一下是否成功,在PHP中执行phpinfo()的查看sqlsrv、看图画红线处、如图所示这样就表示连接成功了!!
?
1.Windows Authentication连接
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
?>
?
2.SQL Server Authentication连接
?
<?php
$serverName = "localhost"; //数据库服务器地址
$uid = "sa"; //数据库用户名
$pwd = "123"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"cart");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
//执行有结果集的SQL语句
$query = sqlsrv_query($conn, "select * from tb_goods");
while($row = sqlsrv_fetch_array($query))
{
echo $row[0]."-----".$row[1]."<br/>";
}
//执行增删改的SQL语句
?$rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'");
?$num=sqlsrv_rows_affected($rs);//返回修改的行数
?if($num>0)
{
echo '修改成功!'.$num?;
}
else
{
echo '修改失败!';
}
?>
?
用于 SQL Server Driver for PHP 的 API 名称是 sqlsrv。所有 sqlsrv函数都以 sqlsrv_打头,
SQL Server Driver for PHP 包含以下函数:
函数 说明
sqlsrv_begin_transaction 开始事务。
sqlsrv_cancel 取消语句;并放弃相应语句的所有未决结果。
sqlsrv_client_info 提供有关客户端的信息。
sqlsrv_close 关闭连接。释放与相应连接关联的所有资源。
sqlsrv_commit 提交事务。
sqlsrv_configure 更改错误处理和日志记录配置。
sqlsrv_connect 创建一个连接,并将其打开。
sqlsrv_errors 返回关于上一操作的错误和/或警告信息。
sqlsrv_execute 执行预定义语句。
sqlsrv_fetch 使下一行的数据可供读取。
sqlsrv_fetch_array 以数值索引数组、关联数组或这两种数组的形式检索下一行的数据。
sqlsrv_fetch_object 以对象形式检索下一行的数据。
sqlsrv_field_metadata 返回字段元数据。
sqlsrv_free_stmt 关闭语句。释放与相应语句关联的所有资源。
sqlsrv_get_config 返回指定配置设置的值。
sqlsrv_get_field 按索引检索当前行中的字段。可以指定 PHP 返回类型。
sqlsrv_has_rows 检测结果集是否具有一行或多行。
sqlsrv_next_result 使下一结果可供处理。
sqlsrv_num_rows 报告结果集中的行数。
sqlsrv_num_fields 检索活动结果集中的字段数。
sqlsrv_prepare 准备 Transact-SQL 查询,但不执行该查询。隐式绑定参数。
sqlsrv_query 准备 Transact-SQL 查询,并将其执行。
sqlsrv_rollback 回滚事务。
sqlsrv_rows_affected 返回有所修改的行的数目。
sqlsrv_send_stream_data 在每次调用函数时向服务器发送最多八千字节 (8 KB) 的数据。
sqlsrv_server_info 提供有关服务器的信息。
Linux下PHP 5.2.17测试成功
tar zxvf freetds-0.8.2.tar.gz
cd freetds-0.8.2/
./configure --enable-msdblib --prefix=/usr/local/freetds --with-tdsver=8.0
make && make install
cd /home/lnmp0.9/php-5.2.17/ext/mssql/ 依个人可能不同
/usr/local/php/bin/phpize ####php扩展信息
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds
make && make install
vim /usr/local/php/etc/php.ini
在extension = "pdo_mysql.so"下面添加
extension = "mssql.so"
保存后,/root/lnmp restart 即可
若搜索的结果有中文乱码则
vim /usr/local/freetds/etc/freetds.conf
[global] 加上
client charset = utf8
$sql=mssql_connect('192.168.0.185','sa','1','1433');
mssql_select_db('test',$sql);
$result=mssql_query("select top 10 * from test1")
while($row=mssql_fetch_assoc($result)){
print_r($rows);
}
freetds-0.8.2.tar.gz下载地址:
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
快又稳
2024-10-28 广告
2024-10-28 广告
广州快又稳网络科技有限公司是一家集技术研发、产品创新、服务优化于一体的高新技术企业。公司自成立以来,始终秉承“网络使人类缩进距离,我们让网络快又稳”的核心理念,致力于为全球客户提供高效、安全、易用的互联网解决方案及信息技术服务。在数字时代,...
点击进入详情页
本回答由快又稳提供
展开全部
Call to undefined function mssql_connect() :这是因为没有开启mssql模块。
1、在php.ini中找到:
extension=php_mssql.dll,和extension=php_pdo_mssql.dll,确定他们的前面没有“;”。
2、在php.ini中找到:
extension_dir = "C:\php\ext\"。这里是extension目录,确认这个目录下有php_mssql.dll、php_pdo_mssql.dll。(php.ini的位置,extension_dir的位置可以使用phpinfo()查看。)
4、检查你的Mssql服务器有没有开起来。呵呵一般这个可能性不大。
1、在php.ini中找到:
extension=php_mssql.dll,和extension=php_pdo_mssql.dll,确定他们的前面没有“;”。
2、在php.ini中找到:
extension_dir = "C:\php\ext\"。这里是extension目录,确认这个目录下有php_mssql.dll、php_pdo_mssql.dll。(php.ini的位置,extension_dir的位置可以使用phpinfo()查看。)
4、检查你的Mssql服务器有没有开起来。呵呵一般这个可能性不大。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
apache
james-2.3.2中如何配置sqlserver2008
james-2.3.2中如何配置sqlserver2008
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看那个extension目录下有没有php_mssql.dll ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询