分享

php连接 sql2008(实战篇)

 随身Book 2014-01-05

至于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 獲取記錄數和內容 獲取字段數和內容

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www./1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=big5" />  
  5. <title>php-sql2008</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <?php  
  10. $serverName = "(local)"; //資料庫伺服器位址  
  11. $uid = "sa";             //資料庫用戶名  
  12. $pwd = "Admin777";       //資料庫密碼  
  13. $db_name="DB_FMDISP";    //資料庫名  
  14.   
  15. $connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>$db_name);  
  16. $conn = sqlsrv_connect( $serverName, $connectionInfo);  
  17. if( $conn == false)  
  18. {  
  19.     echo "Connect error!";  
  20.     die( print_r( sqlsrv_errors(), true));  
  21. }  
  22. //執行sql語句  
  23. $stmt = sqlsrv_query($conn, "SELECT TOP 1000 [uid],[uname],[upwd],[udate],[enable] FROM [DB_FMDISP].[dbo].[tb_user]", array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));  
  24.   
  25. if($stmt === false )  
  26. {  
  27.      echo "Error in executing query.</br>";  
  28.      die( print_r( sqlsrv_errors(), true));  
  29. }  
  30.   
  31. //獲取記錄數  
  32. $row_count = sqlsrv_num_rows($stmt);  
  33.    if ($row_count === false){  
  34.       echo "\nget row error\n".'<br />';  
  35.       print_r(sqlsrv_errors(), true);  
  36.    }  
  37.    else if ($row_count >=0){  
  38.       echo '行數:'."\n$row_count\n".'<br />';  
  39.    }  
  40. //獲取列數      
  41. $field_count = sqlsrv_num_fields($stmt);  
  42.    if ($field_count === false){  
  43.       echo "\nget row error\n".'<br />';  
  44.       print_r(sqlsrv_errors(), true);  
  45.    }  
  46.    else if ($field_count >=0){  
  47.       echo '列數:'."\n$field_count\n".'<br />';  
  48.    }  
  49. //獲取某一列的記錄內容(按數字)  
  50. /* Make the first row of the result set available for reading. */  
  51. if( sqlsrv_fetch( $stmt ) === false )  
  52. {  
  53.      echo "Error in retrieving row.\n";  
  54.      die( print_r( sqlsrv_errors(), true));  
  55. }  
  56. $name = sqlsrv_get_field( $stmt, 0);  
  57. echo '內容:'."$name:".'<br />';  
  58.   
  59. <span style="white-space:pre">  </span>    
  60. //show the data  
  61. //把記錄賦給數組並顯示(按列的名稱)  
  62. while($row = sqlsrv_fetch_array($stmt)){  
  63.     echo $row['uid']."-----".$row['uname']."-----".$row['upwd']."<br/>";  
  64. }  
  65.   
  66. /* Free statement and connection resources. */  
  67. sqlsrv_free_stmt($stmt);  
  68. sqlsrv_close($conn);  
  69. ?>  
  70. <p></p>  
  71. <h1>常用SQL語句</h1>  
  72. $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)");  
  73. $stmt = sqlsrv_query($conn, "SELECT * FROM DB_FMDISP.dbo.tb_user");  
  74. </body>  
  75. </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 提供有关服务器的信息。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多