我目前正在使用SQL Server 2008.我感到非常沮丧,因为我的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;
}
答案 0 :(得分:0)
试试这个
<?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]
将始终以与表结构中存在的顺序相同的顺序返回具有列名的结果集。建议使用列名而不是*
来提高性能以及更多类似的冲突。
<强> ELSE 强>
如果这没有帮助,请告诉我。