繁体   English   中英

SQL SERVER select语句似乎不能选择多个列

[英]SQL SERVER select statement doesn't seem to be able to select more than one column

我当前正在使用SQL Server2008。由于我的select语句似乎无法选择多个列,因此我感到非常沮丧。 每次我从数据库表中选择时,它什么都不显示。

我的编码如下:

<?php
// build a query to select records from table authorisation to echo out all queries
$query1  = "SELECT * FROM authorisation  ";

// execute the query you created above and store the result in a php variable
$result1 = sqlsrv_query($con, $query1) or die(print_r( sqlsrv_errors(), true));

// build a query to select records from table authorisation to echo out all queries
while ($group= sqlsrv_fetch_array($result1)  {
    $permissiongroup = $group[0];
    $permissionpages = $group[1];

    echo $permissiongroup;
    echo $permissionpages;
}
?>

我改为使用两个查询,它可以正常工作。 我不知道为什么。

// build a query to select records from table authorisation to echo out all queries
$query1  = "SELECT permissiongroup FROM authorisation ORDER BY permissiongroup";

// execute the query you created above and store the result in a php variable
$result1 = sqlsrv_query($con, $query1) or die(print_r( sqlsrv_errors(), true));

// build a query to select records from table authorisation to echo out all queries
$query2  = "SELECT permissionpages FROM authorisation ORDER BY permissiongroup ";

// execute the query you created above and store the result in a php variable
$result2 = sqlsrv_query($con, $query2) or die(print_r( sqlsrv_errors(), true));

while (($group= sqlsrv_fetch_array($result1)) && ($page= sqlsrv_fetch_array($result2)) ) {
   $permissiongroup = $group['permissiongroup'];
   $pages = $page['permissionpages'];
   echo $permissiongroup;
   echo $pages;
}

尝试这个

<?php
// build a query to select records from table authorisation to echo out all queries
$query1 = "SELECT permissiongroup,permissionpages FROM authorisation ORDER BY permissiongroup";

// execute the query you created above and store the result in a php variable
$result1= sqlsrv_query($con, $query1) or die(print_r( sqlsrv_errors(), true));

// build a query to select records from table authorisation to echo out all queries
while ($group= sqlsrv_fetch_array($result1))  {
    $permissiongroup=$group['permissiongroup'];
    $permissionpages=$group['permissionpages'];

    echo $permissiongroup;
    echo $permissionpages;
}
?>

说明(如果这是解决方案):
如果这解决了您的问题,则表示permissiongrouppermissionpages不是表authorisation的前两个连续列。 select * from [tablename]将始终返回具有列名的重新ulset,其名称与表结构中的顺序相同。 建议使用列名代替*以提高性能和更多类似的冲突。

其他
如果这没有帮助,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM