php连接 sql2008(实战篇)

来源:互联网 发布:第五次人口普查数据 编辑:程序博客网 时间:2024/05/20 05:08

至于php连接mssql2008的方法可以参考我博客的其他文章会有介绍
操作的话
我们可以先阅读下载的插件内的帮助文件,里面写的很详细可惜是英文的
也可以在线获取手册,有中文的很方便地址是
http://technet.microsoft.com/zh-cn/library/hh352126(SQL.10).aspx
http://msdn.microsoft.com/zh-cn/library/hh352126(v=SQL.10).aspx


下面写我的一个简单的测试
基本的功能都有了

包括連接數據庫 執行SQL 獲取記錄數和內容 獲取字段數和內容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=big5" /><title>php-sql2008</title></head><body><?php$serverName = "(local)"; //資料庫伺服器位址$uid = "sa";             //資料庫用戶名$pwd = "Admin777";       //資料庫密碼$db_name="DB_FMDISP";    //資料庫名$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>$db_name);$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn == false){    echo "Connect error!";    die( print_r( sqlsrv_errors(), true));}//執行sql語句$stmt = sqlsrv_query($conn, "SELECT TOP 1000 [uid],[uname],[upwd],[udate],[enable] FROM [DB_FMDISP].[dbo].[tb_user]", array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));if($stmt === false ){     echo "Error in executing query.</br>";     die( print_r( sqlsrv_errors(), true));}//獲取記錄數$row_count = sqlsrv_num_rows($stmt);   if ($row_count === false){      echo "\nget row error\n".'<br />';  print_r(sqlsrv_errors(), true);   }   else if ($row_count >=0){      echo '行數:'."\n$row_count\n".'<br />';   }//獲取列數  $field_count = sqlsrv_num_fields($stmt);   if ($field_count === false){      echo "\nget row error\n".'<br />';  print_r(sqlsrv_errors(), true);   }   else if ($field_count >=0){      echo '列數:'."\n$field_count\n".'<br />';   }//獲取某一列的記錄內容(按數字)/* Make the first row of the result set available for reading. */if( sqlsrv_fetch( $stmt ) === false ){     echo "Error in retrieving row.\n";     die( print_r( sqlsrv_errors(), true));}$name = sqlsrv_get_field( $stmt, 0);echo '內容:'."$name:".'<br />';  //show the data//把記錄賦給數組並顯示(按列的名稱)while($row = sqlsrv_fetch_array($stmt)){    echo $row['uid']."-----".$row['uname']."-----".$row['upwd']."<br/>";}/* Free statement and connection resources. */sqlsrv_free_stmt($stmt);sqlsrv_close($conn);?><p></p><h1>常用SQL語句</h1>$stmt = sqlsrv_query($conn, "INSERT INTO DB_FMDISP.dbo.tb_user(uname,upwd,udate,enable) VALUES('name','pwd','2010-10-10 10:10:00',1)");$stmt = sqlsrv_query($conn, "SELECT * FROM DB_FMDISP.dbo.tb_user");</body></html>



API 参考 (SQL Server Driver for PHP)



用于 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提供有关服务器的信息。