PHP:是否可以对变量的值执行$ _REQUEST

时间:2018-12-12 15:19:17

标签: php sql-server sqlsrv

我正在创建一个可自定义的表单,管理员用户可以在其中自定义所提出的问题。我已经创建了页面:问题出现在页面上,添加新问题会将问题添加到页面上,依此类推。但是,我不确定如何将变量处理到我的MS SQL Server数据库中。

页面的问题按以下方式填充:

<form name="form" method="post" action="" enctype="multipart/form-data">
<?php
$count = 0;
$sel_query = "SELECT *
              FROM database.dbo.odr_actor
              ORDER BY odr_num ASC;";
$sel_result = sqlsrv_query($con, $sel_query) or die( print_r( sqlsrv_errors(), true));
while($sel_row = sqlsrv_fetch_array($sel_result)) {
?>
    <?php if($sel_row['col_type'] == 'varchar(255)'){ ?>
        <tr><td>
            <strong><?php echo $sel_row['col_ques']; ?> </strong>
            <input name="<?php echo $sel_row['colu_name']; ?>" />
        </td></tr>
    <?php }elseif($sel_row['col_type'] == 'varchar(256)'){ ?>
        <tr><td>
            <strong><?php echo $sel_row['col_ques']; ?></strong>
            <select name="<?php echo $sel_row['colu_name']; ?>" type="selectable" value="">
                <?php
                $col_col = $sel_row['colu_name'];
                $qry_count=1;
                $qry_query="Select * from database.dbo.sel_$col_col
                            ORDER BY sel_id ASC;";
                $qry_result = sqlsrv_query($con,$qry_query);
                while($qry_row = sqlsrv_fetch_array($qry_result)) { ?>
                    <option value="<?php echo $qry_row["sel_value"]; ?>"><?php echo $qry_row["sel_value"]; ?></option>
                <?php $count++; } ?>
            </select>
        </td></tr>
<?php } ?>
<?php $count++; } ?> 

问题很好。它们显示正确,选择内容正确填充,等等。但是,我不确定如何将值添加到主数据库中。

$sel_query = "SELECT *
              FROM database.dbo.odr_actor
              ORDER BY odr_num ASC;";
$sel_result = sqlsrv_query($con, $sel_query) or die( print_r( sqlsrv_errors(), true));
while($sel_row = sqlsrv_fetch_array($sel_result)) {
    $col_col2 = $sel_row['colu_name'];
    $col_col3 = $_REQUEST['$col_col2'];
    // Update Query 2
    $updat2="UPDATE database.dbo.tbl_actor SET
    $col_col2 = $col_col3
    where act_id='".$act_id."'";
    echo $updat2;
    sqlsrv_query($con, $updat2) or die( print_r( sqlsrv_errors(), true));
$count++; }

有人知道如何在PHP中将变量放入请求中。例如:$ _REQUEST ['$ col_col2'];?

如果您想让我发布更多代码,请告诉我

干杯

1 个答案:

答案 0 :(得分:1)

您以错误的方式访问它...

$_REQUEST['$col_col2']

就像表单中的字段名称是

name=$col_col2 

因为您使用单引号

尝试此操作-无需'...'

$_REQUEST[$col_col2]