Я использую PHP 5.6 и SQL Server 2012 с небезопасным драйвером. У меня невероятно простой вопрос, который я уже знаю, но по какой-то причине у меня совершенно умственная смерть.
У меня есть базовый запрос SQL, который может вернуть либо 1 строку данных, либо несколько.
Есть только три поля с данными. но я хотел бы иметь возможность считывать данные (это входит в vXML ivr с использованием Voice Server 4.0, но это не имеет отношения к моему вопросу).
Вот мой код:
<?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, и они, кажется, не работают. Спасибо!
Я предполагаю, что вы ищете 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 />";
}
Других решений пока нет …