如何将php-webservice连接到sqlserver2008r2


How to connect php webservice to sql server 2008 r2

我们正在开发php Web服务,我们的数据库位于sql server 2008 r2 上

/*sql连接字符串*/

     $link = mssql_connect('localhost','usrname','pass') or die('Cannot connect to the DB');     
     mssql_select_db('Data Source=PC-NAME;Initial Catalog=DBNAME.MDF;Persist Security Info=True',$link) or die('Cannot select the DB');
        /* grab the posts from the db */
        echo $query = "SELECT * FROM add_product WHERE prod_pos = '".$_GET['prod_pos']."'";
        $result = mssql_query($query,$link) or die('Errant query:  '.$query);

它在mssql_connect上给出了致命错误。

致命错误:在第11行上调用service.php中未定义的函数mssql_connect()

那么如何将php-webservice与sqlserver2008r2连接起来呢???

提前感谢。。。

您需要从Microsoft下载并安装sqlsrv扩展。在此处查找一个选项:http://www.microsoft.com/en-us/download/details.aspx?id=20098

请注意,扩展名不再称为"mssql",而是现在的"sqlsrv",因此您需要使用sqlsrv_connect()等。

得到答案。。。。。。。。。。。。。。

    <?php
        $number_of_posts = $_GET['prod_pos']; 
        $format = 'json';
        /* connect to the db */
        $serverName = "(local)";
        /* Get UID and PWD from application-specific files.  */
        $uid = "usrname of sql server 2008";
        $pwd = "password";
        $connectionInfo = array( "UID"=>$uid, "PWD"=>$pwd, "Database"=>"db name" );
        /* Connect using SQL Server Authentication. */
        $conn = sqlsrv_connect( $serverName, $connectionInfo);
        if( $conn === false )
        {
             echo "Unable to connect.</br>";
             die( print_r( sqlsrv_errors(), true));
        }

        /* Query SQL Server for the login of the user accessing the database. */
        $tsql = "SELECT * FROM add_product WHERE prod_pos='".$number_of_posts."'";
        $stmt = sqlsrv_query( $conn, $tsql);
        if( $stmt === false )
        {
             echo "Error in executing query.</br>";
             die( print_r( sqlsrv_errors(), true));
        }

        /* create one master array of the records */
        $posts = array();
        while($post = sqlsrv_fetch_array($stmt) ) 
        {
                $posts[] = array('post'=>$post);
        }

        /* output in necessary format */
         if($format == 'json') 
         {
            header('Content-type: application/json');
            echo json_encode(array('posts'=>$posts));
         }
        /* disconnect from the db */
        $stmt = null; 
        $conn = null; 
     ?>

使用php 成功连接到sql server 2008 r2数据库