代码如下:
<html>
<body>
<?php
$conn = mssql_connect("database","user","password");
$is = mssql_select_db("Northwind",$conn);
$query = "Select * from Categories";
$queryRow = mssql_query($query,$conn);
$r = mssql_fetch_field($queryRow);
while($r = mssql_fetch_field($queryRow))
{
echo $r[0];
}
mssql_close($conn);
?>
</body>
</html>我什么地方写错了吗?为什么连接是成功的,可是数据就是显示不出呢?
请求高人指导,万分感谢.

解决方案 »

  1.   

    首先你要明确mssql_fetch_field()函数和mssql_fetch_array是不同的,
    前者得到的是“列”的“信息”,而不是列的“值”
    比如从w3schoo上的一段代码(原地址http://www.w3school.com.cn/php/func_mysql_fetch_field.asp)
    while ($property = mysql_fetch_field($result))
      {
      echo "Field name: " . $property->name . "<br />";
      echo "Table name: " . $property->table . "<br />";
      echo "Default value: " . $property->def . "<br />";
      echo "Max length: " . $property->max_length . "<br />";
      echo "Not NULL: " . $property->not_null . "<br />"; 
      echo "Primary Key: " . $property->primary_key . "<br />";
      echo "Unique Key: " . $property->unique_key . "<br />"; 
      echo "Mutliple Key: " . $property->multiple_key . "<br />";
      echo "Numeric Field: " . $property->numeric . "<br />";
      echo "BLOB: " . $property->blob . "<br />";
      echo "Field Type: " . $property->type . "<br />";
      echo "Unsigned: " . $property->unsigned . "<br />";
      echo "Zero-filled: " . $property->zerofill . "<br /><br />"; 
      }
    返回的结果是:
    Field name: LastName
    Table name: Person
    Default value: 
    Max length: 8
    Not NULL: 0
    Primary Key: 0
    Unique Key: 0
    Mutliple Key: 0
    Numeric Field: 0
    BLOB: 0
    Field Type: string
    Unsigned: 0
    Zero-filled: 0Field name: FirstName
    Table name: Person
    Default value: 
    Max length: 7
    Not NULL: 0
    Primary Key: 0
    Unique Key: 0
    Mutliple Key: 0
    Numeric Field: 0
    BLOB: 0
    Field Type: string
    Unsigned: 0
    Zero-filled: 0Field name: City
    Table name: Person
    。。
    而不是你想得到的
    $r[0]='张三'等等
      

  2.   

    <?
    //------------------------------
    while($r = mssql_fetch_field($queryRow))
    {
    echo $r[0];
    }
    mssql_close($conn); 
    //-------------------------
    ?>
    while($r = mssql_fetch_field($queryRow)):错了这里需要boolean值~