我使用PHP 5.6和SQL Server 2012以及非线程安全驱动程序。我有一个非常简单的问题,我已经知道,但由于某种原因,我完全是脑死亡。
我有一个基本的SQL查询,它可以返回1行数据,也可以返回多行数据。
只有三个数据字段。但我希望能够读取数据(这是使用Voice Server 4.0进入vXML ivr,但这与我的问题无关)。
这是我的代码:
<?php
$serverName = "localhost";
$connectionOptions = array("Database"=>"mydb");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionOptions);
if( $conn ) {
echo "Connection established.";
}else{
echo "Connection could not be established.";
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT * FROM my_table WHERE SSN = 111111111";
//////I have no idea if I need this or not input appreciated
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>
我想做的就是能够将信息作为行进行检索,比如
echo $row['field'];
echo $row['field2'];
echo $row['field3'];
ect.
有人能指出我正确的方向吗?我只能找到mysqli的例子,而那些似乎不起作用。谢谢!
答案 0 :(得分:1)
我认为您正在寻找的是sqlsrv_fetch_array
sqlsrv_fetch_array - 将一行返回为数组
一个例子:
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['field'].", ".$row['field2']."<br />";
}