php连接mysql与mssql 2005数据库代码

php教程连接mssql 2005 1.下载以下两个文件,放入php ext目录及system32

php_sqlsrv_52_ts_vc6.dll   (线程安全)

php_sqlsrv_52_nts_vc6.dll (非线程安全)

vc6用于apache,vc9用于iis

2.修改php.ini

extension=php_sqlsrv_52_ts_vc6.dll

3.下载sqlncli.msi,微软官方可以下

安装的时候提示是sql server 2008的,不过2005也是可以用的。

4.测试代码

<?php

$servername = "127.0.0.1";
$connectioninfo = array("database"=>"testdb","uid"=>"test","pwd"=>"test");
$conn = sqlsrv_connect($servername, $connectioninfo);

if($conn) {
    echo "connection established.<br>";
} else {
    echo "connection could not be established.<br>";
    die(print_r(sqlsrv_errors(), true));
    exit();
}

$sql = "select * from t_employee";
$result = sqlsrv_query($conn,$sql);
$data = array();
while($row=sqlsrv_fetch_array($result)) {
    $data[] = $row;
}

foreach($data as $p) {
    echo $p['name']."<br>";
}

sqlsrv_close($conn);

echo "<br> done <br>";
echo date("y-m-d h:i:s");

?>

mysql教程连接类

class db_handle {
    var $classname = "db_handle";
    var $server;
    var $username;
    var $password;
    var $database;
    var $linkid = 0;
    var $queryresult = "";
    var $lastinsertid = "";
    /* private ignore=>ignore the error and continue, halt=>report the error and halt, report=>report the error and continue */
    var $halt_on_error = "report";
    var $error = "";
    var $errno = 0;
    /**public
     * remark: this is the db_mysql_class's structure
     * function: set the server,username,password,database variable.
     */
    function db_handle($server = "", $username = "", $password = "", $database = "") {
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }
    /**public
     * function: connect database and select database
     * success: retun 1
     * failed: return 0
     */
    function connect() {
        $this->linkid = @mssql_pconnect ( $this->server, $this->username, $this->password );
        if (! $this->linkid) {
            $this->halt ( "mssql_pconnect($this->server,$this->username,$this->password): failed" );
            return 0;
        }
        if (! @mssql_select_db ( $this->database )) {
            $this->halt ( "mssql_select_db($this->database) failed." );
            return 0;
        }
        return 1;
    }
    /**public
     * function: check the database, if exist then select
     * exist: return 1
     * not exist: return 0
     */
    function selectdatabase() {
        if (@mssql_select_db ( $this->database ))
            return 1;
        else
            return 0;
    }
    /**public
     * function: execute sql instruction
     * success: return sql result.
     * failed: return 0;
     */
    function execquery($sql = "") {
        $this->connect();
        if ($this->linkid == 0) {
            $this->halt ( "execute sql failed: have not valid database connect." );
            return 0;
        }
        ob_start ();
        $this->queryresult = mssql_query ( $sql, $this->linkid );
        $error = ob_get_contents ();
        ob_end_clean ();
        if ($error) {
            $this->halt ( "execute sql: mssql_query($sql,$this->linkid) failed." );
            return 0;
        }
        $reg = "#insert into#";
        if (preg_match ( $reg, $sql )) {
            $sql = "select @@identity as id";
            $res = mssql_query ( $sql, $this->linkid );
            $this->lastinsertid = mssql_result ( $res, 0, id );
        }
        return $this->queryresult;
    }
   
    /**public
     * function: get the query result's row number
     * success: return the row fo the result
     * failed: return 0
     */
    function gettotalrownum($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        $row = @mssql_num_rows ( $this->queryresult );
        if ($row >= 0)
            return $row;
        $this->halt ( "get a row of result failed: result $result is invalid." );
        return 0;
    }
   
    /**public
     * function: get the last insert record's id
     * success: return id
     * failed: return 0
     */
    function lastinsertid() {
        return $this->lastinsertid;
    }
   
    /**public
     * function: get a field's value
     * success: return value of the field
     * failed: return 0
     */
    function getfield($result = "", $row = 0, $field = 0) {
        if ($result != "")
            $this->queryresult = $result;
        $fieldvalue = @mssql_result ( $this->queryresult, $row, $field );
        if ($fieldvalue != "")
            return $fieldvalue;
        $this->halt ( "get field: mssql_result($this->queryresult,$row,$field) failed." );
        return 0;
       
    //here should have error handle
    }
   
    /**public
     * function: get next record
     * success: return a array of the record's value
     * failed: return 0
     */
    function nextrecord($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        $record = @mssql_fetch_array ( $this->queryresult );
        if (is_array ( $record ))
            return $record;
            //$this->halt("get the next record failed: the result $result is invalid.");
        return 0;
    }
   
    /**public
     * function: free the query result
     * success return 1
     * failed: return 0
     */
    function freeresult($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        return @mssql_free_result ( $this->queryresult );
    }
   
    /**public
     * function: set the halt_on_error's state
     * success: return 1
     * failed: return 0
     */
    function sethaltonerror($state = "ignore") {
        if (! ($state == "ignore" || $state == "report" || $state == "halt")) {
            $this->halt ( "set the halt_on_error fail: there is no state value $state" );
            return 0;
        }
        $this->halt_on_error = $state;
        return 1;
    }
   
    /**public
     * function: get the halt_on_error's state
     */
    function gethaltonerror() {
        return $this->halt_on_error;
    }
   
    /**public
     * function: get the class's name
     */
    function tostring() {
        return $this->classname;
    }
   
    /**private
     * function: error handle
     */
    function halt($msg) {
        $this->error = @mysql_error ( $this->linkid );
        $this->errno = @mysql_errno ( $this->linkid );
        if ($this->halt_on_error == "ignore")
            return;
        $this->makemsg ( $msg );
        if ($this->halt_on_error == "halt")
            die ( "session halted" );
    }
   
    /**private
     * function: make error information and print
     */
    function makemsg($msg) {
        printf ( "database error: %sn", $msg );
        printf ( "mysql error: %s (%s)n", $this->errno, $this->error );
    }
}

 

时间: 2024-08-02 11:46:12

php连接mysql与mssql 2005数据库代码的相关文章

asp.net 连接access与mssql server数据库方法

连接Access数据库教程需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的! strConnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源. "Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是Access中的数据引擎,asp教程.net就是靠这个和Access的数据库连接的. "Data Source=C:Be

整理python连接MySQL/MongoDB/Redis/memcache数据库教程

如何整合redis mongodb mysql 1.业务系统的关联关系用mysql组织2.缓存数据用memcached.redis存取3.大文本数据放进mongodb存取中4.数据统计计数增加阀值功能 用mysql将memcached.redis.mongodb三者结合起来, 根据实际业务需要看一下哪些适合memcached.redis缓存存取,哪些适合mongodb存取. 核心架构: 1).应用系统框架架构2).数据库系统业务架构 是影响项目成功失败的关键. 一,python 操作 MySQL

MSSQL 2005 数据库变成可疑状态

公司新搬家,这几天网络动震不堪,昨天还没来及关上电脑,电工刹的一间就把电源切断了.   重启后发现本地网卡不正常了,疑似坏了,领了无线网卡,往USB接口一插,将就用着了.   今天打开项目运行,发现黄色页面,日志报错,无法链接,打开SQL一看,数据库变成了"三角惊叹号+数据库名+(可疑)"了!   于是,内事不决问Baidu,得出以下几条信息,执行一下好了,特此记录一下:   1.修改数据库为紧急模式 ALTER DATABASE 数据库名 SET EMERGENCY 2.使数据库变为

rsyslog的ommsql模块如何连接MYSQL的非标准数据库端口?

搞了我半小个时查找资料..最后,在一个官方文档中找到他...   http://www.rsyslog.com/doc/ommysql.html Sample: The following sample writes all syslog messages to the database "syslog_db" on mysqlsever.example.com. The server is being accessed under the account of "user&

jsp连接mysql数据库实现登录功能求代码及讲解

问题描述 jsp连接mysql数据库实现登录功能求代码及讲解 jsp连接mysql数据库实现登录功能求代码及讲解,新手小白求指导 解决方案 参考JSP连接mysql,实现登录界面代码和注释简单明了,一看就明白了 解决方案二: 代码呢 代码都没杂讲解 解决方案三: 楼上说的是JSP小脚本程序实现 可是一般的开发中是不会出现这种情况的 解决方案四: http://www.cnblogs.com/cysolo/archive/2013/05/06/3063738.html 此类问题,你需要先问goog

mssql server数据库转换为MySQL详解

思想: 通过mssql构造出MySQL的insert into 语句,保存到一个文本文件里,然后导入MySQL数据库. 方法扼要如下: 1.根据ms sql表结构同步创建出mysql表,可以使用mssql客户端工具生成mssql的建表语句,里面一般来说会带上COLLATE Chinese_PRC_CI_AS 及 CONSTRAINT [DF_xxx_xxx] 这样的部分,对mysql是没有用的,使用ue的查找替换功能将其删掉,替换"CONSTRAINT [DF_xxx_xxx] "要使

php使用pdo连接mssql server数据库实例_php技巧

本文实例讲述了利用php的pdo来连接微软的mssql server数据库的方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: $dsn = 'mssql:dbname=bookStore_demo;host=192.168.1.106'; $user = 'sa'; $password = '123';     //mssql_connect('192.168.1.106','sa','123');     //echo 22; try {        // echo 11

代码-Eclipse Java连接Mysql出错

问题描述 Eclipse Java连接Mysql出错 用正常连接数据库代码运行后出现,好像是MySQL访问地址问题,怎么解决? error:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communication link failure, message from server: "Can't get hostname for your address" 解决方案 链接mysql 驱动类 c

php连接mysql数据库并写入数据

原理步骤 1,php利用mysql_connect与mysql数据库连接 2,打开MySQL数据库 3,接受页面数据,PHP录入到指定的表中 4.然后利用mysql_query把sql执行并保存到数据库中. 连接mysql数据库超级简单如下  代码如下 复制代码 <?php mysql_connect("localhost","root","");//连接MySQL mysql_select_db("hello");//