PHP 接続 mysql および mssql 2005 データベース コード_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:05:49
オリジナル
869 人が閲覧しました

mssql 2005 に接続するための php チュートリアル 1. 次の 2 つのファイルをダウンロードし、php ext ディレクトリと system32 に置きます

php_sqlsrv_52_ts_vc6.dll (スレッドセーフ)

php_sqlsrv_52_nts_vc6.dll (スレッドセーフではありません)

vc6はApacheに使用され、vc9はiisに使用されます

2.php.iniを変更する

拡張子=php_sqlsrv_52_ts_vc6.dll

3. Microsoft から正式に入手可能な sqlncli.msi をダウンロードします

インストール時にSQL Server 2008と表示されますが、2005でも使用可能です。

4. テストコード

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

if($conn) {
echo "接続が確立されました。
";
} その他 {
echo "接続を確立できませんでした。
";
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']."
";
}

sqlsrv_close($conn);

エコー「
完了
」;
echo date("y-m-d h:i:s");

?>


mysqlチュートリアル接続クラス

クラス db_handle {
    var $classname = "db_handle";
    var $server;
    var $ユーザー名;
    var $パスワード;
    var $database;
    var $linkid = 0;
    var $queryresult = "";
    var $lastinsertid = "";
    /* privateignore=>エラーを無視して続行、halt=>エラーを報告して停止、report=>エラーを報告して続行 */
    var $halt_on_error = "レポート";
    var $error = "";
    var $errno = 0;
    /**公開
     * 注: これは db_mysql_class の構造です
     * 関数: サーバー、ユーザー名、パスワード、データベース変数を設定します。
    */
    function db_handle($server = "", $username = "", $password = "", $database = "") {
        $this->server = $server;
        $this->ユーザー名 = $ユーザー名;
        $this->password = $password;
        $this->database = $database;
    }
    /**公開
     * 機能: データベースに接続し、データベースを選択します
     * 成功: 1 を返します
     * 失敗: 0 を返す
    */
    関数 connect() {
        $this->linkid = @mssql_pconnect ( $this->サーバー、$this->ユーザー名、$this->パスワード );
        if (! $this->linkid) {
            $this->halt ( "mssql_pconnect($this->サーバー,$this->ユーザー名,$this->パスワード): 失敗しました" );
            0 を返す;
        }
        if (! @mssql_select_db ( $this->database )) {
            $this->halt ( "mssql_select_db($this->データベース) が失敗しました。" );
            0 を返す;
        }
        1 を返します;
    }
    /**公開
     * 関数: データベースを確認し、存在する場合は選択します
     * 存在: 1 を返します
     * 存在しない場合は 0 を返します
    */
    関数 selectdatabase() {
        if (@mssql_select_db ( $this->database ))
            1 を返します;
        それ以外
            0 を返す;
    }
    /**公開
     * 関数: SQL 命令を実行します
     * 成功: SQL 結果を返します。
     * 失敗しました: 0 を返します;
    */
    function execquery($sql = "") {
        $this->connect();
        if ($this->linkid == 0) {
            $this->halt ( "SQL の実行に失敗しました: 有効なデータベース接続がありません。" );
            0 を返す;
        }
        ob_start();
        $this->queryresult = mssql_query ( $sql, $this->linkid );
        $error = ob_get_contents ();
        ob_end_clean ();
        if ($error) {
            $this->halt ( "SQL の実行: mssql_query($sql,$this->linkid) が失敗しました。" );
            0 を返す;
        }
        $reg = "#insert into#";
        if (preg_match ( $reg, $sql )) {
            $sql = "ID として @@identity を選択";
            $res = mssql_query ( $sql, $this->linkid );
            $this->lastinsertid = mssql_result ( $res, 0, id );
        }
        $this->クエリ結果を返す;
    }
   
    /**公開
     * 関数: クエリ結果の行番号を取得します
     * 成功: 結果の行を返します
     * 失敗: 0 を返す
    */
    function gettotalrownum($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        $row = @mssql_num_rows ( $this->queryresult );
        if ($row >= 0)
            $row を返します;
        $this->halt ( "結果の行の取得に失敗しました: 結果 $result が無効です。" );
        0 を返す;
    }
   
    /**公開
     * 関数: 最後の挿入レコードの ID を取得します
     * 成功: ID を返します
     * 失敗: 0 を返す
    */
    関数 lastinsertid() {
        $this->lastinsertid;を返す
    }
   
    /**公開
     * 関数: フィールドの値を取得します
     * 成功: フィールドの戻り値
     * 失敗: 0 を返す
    */
    関数 getfield($result = "", $row = 0, $field = 0) {
        if ($result != "")
            $this->queryresult = $result;
        $fieldvalue = @mssql_result ( $this->queryresult, $row, $field );
        if ($fieldvalue != "")
            $fieldvalue を返します;
        $this->halt ( "フィールドの取得: mssql_result($this->queryresult,$row,$field) が失敗しました。" );
        0 を返す;
       
    //ここにエラーハンドルがあるはずです
    }
   
    /**公開
     * 関数: 次のレコードを取得します
     * 成功: レコードの値の配列を返します
     * 失敗: 0 を返す
    */
    function nextrecord($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        $record = @mssql_fetch_array ( $this->queryresult );
        if (is_array ( $record ))
            $record を返します;
            //$this->halt("次のレコードの取得に失敗しました。結果 $result は無効です。");
        0 を返す;
    }
   
    /**公開
     * 関数: クエリ結果を解放します
     *成功リターン1
     * 失敗: 0 を返す
    */
    関数 freeresult($result = "") {
        if ($result != "")
            $this->queryresult = $result;
        return @mssql_free_result ( $this->queryresult );
    }
   
    /**公開
     * 関数: halt_on_error の状態を設定します
     * 成功: 1 を返します
     * 失敗: 0 を返す
    */
    function sethaltonerror($state = "ignore") {
        if (! ($state == "無視" || $state == "レポート" || $state == "停止")) {
            $this->halt ( "halt_on_error の設定に失敗しました: 状態値 $state がありません" );
            0 を返す;
        }
        $this->halt_on_error = $state;
        1 を返します;
    }
   
    /**公開
     * 関数: halt_on_error の状態を取得します
    */
    関数 gethaltonerror() {
        return $this->halt_on_error;
    }
   
    /**公開
     * 関数: クラスの名前を取得します
    */
    関数 tostring() {
        $this->クラス名を返す;
    }
   
    /**プライベート
     * 関数: エラーハンドル
    */
    関数停止($msg) {
        $this->error = @mysql_error ( $this->linkid );
        $this->errno = @mysql_errno ( $this->linkid );
        if ($this->halt_on_error == "無視")
            戻ります;
        $this->makemsg ( $msg );
        if ($this->halt_on_error == "停止")
            die (「セッション停止」);
    }
   
    /**プライベート
     * 機能: エラー情報を作成して印刷します
    */
    関数 makemsg($msg) {
        printf ( "データベース エラー: %sn", $msg );
        printf ( "mysql エラー: %s (%s)n", $this->errno, $this->error );
    }
}

www.bkjia.com本当http://www.bkjia.com/PHPjc/630765.html技術記事 php教程连接mssql 2005 1.下載两个文件,放入php ext目录及system32 php_sqlsrv_52_ts_vc6.dll (回線程安全) php_sqlsrv_52_nts_vc6.dll (非回線程安全) vc6用apa...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート