SELECT* mssql + php



我想显示这个结果:

require 'connection.php';
$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);
$conn = sqlsrv_connect($serverName, $connectionInfo);
$tsql = "SELECT * FROM tadatable";    
/* Execute the query. */    
$stmt = sqlsrv_query( $conn, $tsql);    
if ( $stmt )    
{    
       $id = $stmt['id']; 
      echo"<td>".$stmt['name']."</td>"; 
}     echo"<td>".$stmt['name2']."</td>"; 
else     
{    
     echo "Error in statement execution.n";    
     die( print_r( sqlsrv_errors(), true));    
}    
sqlsrv_free_stmt( $stmt);    
sqlsrv_close( $conn);

未执行任何数据。只是空白页,你能看看出了什么问题吗?MSSQL/PHP/工作正常...


sqlsrv_query 在成功时返回语句资源,如果返回 FALSE,则返回 FALSE。 发生错误。

使用 sqlsrv_query 成功执行查询后,可以使用 sqlsrv_fetch_array 或使用 sqlsrv_fetch_array 直接获取第一个结果来获取结果。

$stmt = sqlsrv_query( $conn, $tsql);   
if($stmt === false) {
    die( print_r( sqlsrv_errors(), true) );
}
// loop results with `sqlsrv_fetch_array`
while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) {
    echo $row['id'].", ".$row['name'].", ".$row['name2']."<br />";
}

我觉得你错过了可滚动数组。

更改以下行。

$stmt = sqlsrv_query( $conn, $tsql, array(), array( "Scrollable" => 'static' ));
<?php  
require 'connection.php';
//$serverName = "(local)";
$connectionInfo = array("UID" => $usr, "PWD" => $pwd, "Database" => $db);  
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ){  
 echo "Could not connect.n";  
 die( print_r( sqlsrv_errors(), true));  
}  

$tsql = "SELECT * FROM tadatable";
if( sqlsrv_query( $conn, $tsql))  
{  
      //echo "Statement executed.";  
 while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
     echo $row['id'].", ".$row['name'].", ".$row['name2']."<br />";
   }
}   
else  
{  
      echo "Error in statement execution.n";  
      die( print_r( sqlsrv_errors(), true));  
}  

sqlsrv_close($conn);  
?>  

供参考 : http://php.net/manual/en/function.sqlsrv-fetch-array.php

示例 #1 检索关联数组。

最新更新