PHP: 是否可以对变量的值执行 $_REQUEST
PHP: Is it possible to perform $_REQUEST on a variable's value
我正在创建一个可自定义的表单,管理员用户可以在其中自定义所提出的问题。我创建了页面:问题出现在页面上,添加新问题会将问题添加到页面等。但是,我不确定如何将变量处理到我的 MS SQL 服务器数据库中。
页面的问题填充如下:
<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'];?
如果你想让我post更多的代码,请告诉我
干杯,
您正在以错误的方式访问它...
$_REQUEST['$col_col2']
好像表单中的字段名是
name=$col_col2
因为您用单引号访问它 ''
试试这个 - 没有 '...':
$_REQUEST[$col_col2]
我正在创建一个可自定义的表单,管理员用户可以在其中自定义所提出的问题。我创建了页面:问题出现在页面上,添加新问题会将问题添加到页面等。但是,我不确定如何将变量处理到我的 MS SQL 服务器数据库中。
页面的问题填充如下:
<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'];?
如果你想让我post更多的代码,请告诉我
干杯,
您正在以错误的方式访问它...
$_REQUEST['$col_col2']
好像表单中的字段名是
name=$col_col2
因为您用单引号访问它 ''
试试这个 - 没有 '...':
$_REQUEST[$col_col2]