首页 > 解决方案 > PHP:是否可以对变量的值执行 $_REQUEST

问题描述

我正在创建一个可自定义的表单,管理员用户可以在其中自定义提出的问题。我创建了页面:问题出现在页面上,添加新问题会将该问题添加到页面等。但是,我不确定如何将变量处理到我的 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'];?

如果您希望我发布更多代码,请告诉我

干杯,

标签: phpsql-serversqlsrv

解决方案


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

$_REQUEST['$col_col2']

就像表单中的字段名称是

name=$col_col2 

因为你用单引号''访问它

试试这个 - 没有'...'

$_REQUEST[$col_col2]

推荐阅读