共用方式為


如何:執行單一查詢

當使用 SQL Server Driver for PHP 來執行單一查詢時,應該使用 sqlsrv_query 函數。sqlsrv_query 函數會提供一個簡化的方法來以最少的編碼執行查詢。這個函數會同時進行陳述式準備和陳述式執行的工作,而且可用來執行參數化查詢。本主題描述如何使用 sqlsrv_query 函數來執行一次性查詢。

如需有關多次執行已備妥之陳述式的詳細資訊,請參閱<如何:多次執行查詢>。

範例

在下列範例中,單一資料列會插入 AdventureWorks 資料庫的 Sales.SalesOrderDetail 資料表。此範例假設 SQL Server 和 AdventureWorks 資料庫已經安裝在本機電腦上。當從命令列執行此範例時,所有輸出都會寫入主控台。

注意

雖然下列範例使用 INSERT 陳述式來示範如何針對單次執行的陳述式使用 sqlsrv_query,但是此概念適用於任何 Transact-SQL 陳述式。

<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
     echo "Could not connect.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Set up the parameterized query. */
$tsql = "INSERT INTO Sales.SalesOrderDetail 
        (SalesOrderID, 
         OrderQty, 
         ProductID, 
         SpecialOfferID, 
         UnitPrice, 
         UnitPriceDiscount)
        VALUES 
        (?, ?, ?, ?, ?, ?)";

/* Set parameter values. */
$params = array(75123, 5, 741, 1, 818.70, 0.00);

/* Prepare and execute the query. */
$stmt = sqlsrv_query( $conn, $tsql, $params);
if( $stmt )
{
     echo "Row successfully inserted.\n";
}
else
{
     echo "Row insertion failed.\n";
     die( print_r( sqlsrv_errors(), true));
}

/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>

另請參閱

其他資源

設計考量
API 參考 (SQL Server Driver for PHP)