[英]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;
}
?>
说明(如果这是解决方案):
如果这解决了您的问题,则表示permissiongroup
和permissionpages
不是表authorisation
的前两个连续列。 select * from [tablename]
将始终返回具有列名的重新ulset,其名称与表结构中的顺序相同。 建议使用列名代替*
以提高性能和更多类似的冲突。
其他
如果这没有帮助,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.