0
编号:Foreach loop declare variable on select table arrayForeach循环声明不同的变量取决于选择列
OK .....没有更多的语法错误
同样的问题
- 是否有可能foreach循环中创建变量每个变量名都依赖于我选择的列名?
我编写出像
$recid = $_GET['recid'];
//sql select string declaration
$sql = "select [Rec_ID],[Bike_ID],[Station],['Line']
from [rfttest].[dbo].[RFT_Records_Log]
where [Rec_ID] = {$recid}";
$query = sqlsrv_query($conn,$sql); //query
//if query fail print out error
if($query === false)
{
die(print_r(sqlsrv_errors(),true));
sqlsrv_close($conn);
}
//continue with fetch array
$recdata = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
//foreach to declare variable
foreach($recdata as $x => $a)
{
$"$x" = $"$a";
}
结果应该是
$Rec_ID = row rec_id data ,
$Bike_ID = row bike_id data,
$Station = row station data,
$Line = row line data
,但我得到这些,而不是
$row rec_id data = row rec_id data ,
$row bike_id data = row bike_id data,
$row station data = row station data,
$row line data = row line data
如果我使用'“SELECT *”' –
恕我直言,这是不好的做法(我想知道什么我找回,因为如果我问“什么是有”表模式的变化可能断码) 。如果你知道那里有什么字段,'list()'仍然可以正常工作,如果你不知道那里有什么,'extract'也可以工作(假设你从SQL数据源中获取了一个关联数组)。 – samlev