douguxun6866 2015-08-26 13:23
浏览 39
已采纳

Foreach循环在select table数组上声明变量[duplicate]

This question already has an answer here:

Is it possible to create variable inside foreach loop that each variable name depend on column that I select?

Here is my code:

    //sql select string declaration
    $sql = "select [Rec_ID],[Bike_ID],[Station],['Line']
            from [rfttest].[dbo].[RFT_Records_Log]
            where [Rec_ID] = '{$_GET['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";
    }

In this code I should successfully declare variable like:

$Rec_ID , $Bike_ID , $Station , $Line

I still get a syntax error:

Parse error: syntax error, unexpected '"', expecting variable (T_VARIABLE) or '$'

</div>
  • 写回答

3条回答 默认 最新

  • dougang8233 2015-08-26 13:29
    关注

    Simply you can do this:

    foreach($recdata as $x => $a)
    {
        $x = $a;
    }
    

    Use following query:

    $sql = "select [Rec_ID],[Bike_ID],[Station],['Line']
            from [rfttest].[dbo].[RFT_Records_Log]
            where [Rec_ID] = '{".$_GET['recid']."}'";
    

    or escape ' with \ like:

    $sql = "select [Rec_ID],[Bike_ID],[Station],['Line']
        from [rfttest].[dbo].[RFT_Records_Log]
        where [Rec_ID] = \'{$_GET['recid']}\'";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题