PHP: возможно ли выполнить $ _REQUEST для значения переменной - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над созданием настраиваемой формы, в которой пользователи-администраторы могут настраивать задаваемые вопросы.Я создал страницу: вопросы появляются на странице, добавление нового вопроса добавляет этот вопрос на страницу и т. Д. Однако я не уверен, как обрабатывать переменные в моей базе данных 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'];?

Если вы хотите, чтобы я опубликовал больше кода, просто дайте мне знать

Cheers,

1 Ответ

0 голосов
/ 12 декабря 2018

вы обращаетесь к нему неверным способом ...

$_REQUEST['$col_col2']

это похоже на имя поля в форме

name=$col_col2 

, потому что вы обращаетесь к нему в одинарных кавычках ''

попробуйте это - без '...' :

$_REQUEST[$col_col2]
...