日期:2014-05-17  浏览次数:20572 次

php连接mssql数据库
原来程序是连接mysql
现在想转为mssql
因为没有用pdo ado等方式连接
所以得自己修改程序
php配置文件已经打开mssql 程序报错:
Fatal error: Call to undefined function mssql_insert_id()
Fatal error: Call to undefined function mssql_affected_rows()
难道mssql没有这两个函数吗?
------最佳解决方案--------------------
http://php.net/manual/en/book.mssql.php
果然是没有
不过这一页给出了替代方案:
<?php 
function mssql_insert_id() { 
    $id = 0; 
    $res = mssql_query("SELECT @@identity AS id"); 
    if ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { 
        $id = $row["id"]; 
    } 
    return $id; 

?>

以及
http://www.php.net/manual/en/function.mssql-rows-affected.php
------其他解决方案--------------------
phpinfo 看看模块加上没
------其他解决方案--------------------
如果是 php 5.3 以上就没有
------其他解决方案--------------------
引用:
phpinfo 看看模块加上没


mssql
MSSQL Support enabled 
Active Persistent Links  0  
Active Links  0  
Library version  7.0  

Directive Local Value Master Value 
mssql.allow_persistent On On 
mssql.batchsize 0 0 
mssql.compatability_mode Off Off 
mssql.connect_timeout 5 5 
mssql.datetimeconvert On On 
mssql.max_links Unlimited Unlimited 
mssql.max_persistent Unlimited Unlimited 
mssql.max_procs Unlimited Unlimited 
mssql.min_error_severity 10 10 
mssql.min_message_severity 10 10 
mssql.secure_connection Off Off 
mssql.textlimit Server default Server default 
mssql.textsize Server default Server default 
mssql.timeout 60 60 
------其他解决方案--------------------
引用:
如果是 php 5.3 以上就没有

php 5.26
------其他解决方案--------------------
好像还要把相关的dll文件放到system32下吧
------其他解决方案--------------------
引用:
好像还要把相关的dll文件放到system32下吧

应该不是这个问题 mssql可以使用 已经连接上mssql了
就是那俩函数用不了
------其他解决方案--------------------
在WINDOW平台上,直接在PHP.ini打开MSSQL 相关的DLL
在LINUX平台上,需要第三方的,类似WINDOW下的ODBC,
叫FREETDS好象。。。
------其他解决方案--------------------
引用:
http://php.net/manual/en/book.mssql.php
果然是没有
不过这一页给出了替代方案:
PHP code12345678910<?php function mssql_insert_id() {     $id = 0;     $res = mssql_query("SELECT @@identity AS id");     i……