Подтвердить что ты не робот

Обновление одного столбца во всех строках таблицы

Я хочу обновить один столбец во всех строках в одной таблице. Кто-нибудь может мне помочь, как обновить таблицу? существует только одно поле ввода, которое должно обновлять все значения строк. этот код не работает, и я знаю, что что-то не так в индексе и массиве.

<?php
    <form method="post" dir="rtl" name="maxcharfield" >                     
        <textarea onKeyDown="textCounter(this,'progressbar1',300)" 
          onKeyUp="textCounter(this,'progressbar1',300)" 
          onFocus="textCounter(this,'progressbar1',300)"  
            style="font-family:'B_yekan';" id="text" name="text" rows="0" cols="0" class="required"></textarea>
        <div class="cleaner h10"></div> 

        <div style="font-family:'B_yekan';" dir="rtl" id="progressbar1" class="progress" ></div>
        <script>textCounter(document.getElementById("maxcharfield"),"progressbar1",100)</script>    

        <input class="styled-button-8" style="margin-top:10px; float:right; margin-right:50px; font-size: 14px;  padding: 5px 14px;" type="submit" value="save" name="Submit"   />
        <input style="font-family:'B_yekan';" type="reset" value="reset" id="reset" name="reset" class="submit_btn float_l" />

    </form>

<?php
// for updating Check if button name "Submit" is active, do this 
if(isset($_POST['Submit']) && $_POST['Submit'] == 'save')
    {
        $sql1="UPDATE `".$tbl_name."` SET `board`='".$_REQUEST['text']."'  ";
                            $result1=mysql_query($sql1);
     }

    }   
?>
4b9b3361

Ответ 1

Вы слишком усложняете решение. Чтобы обновить каждую запись, подход, который вы пытаетесь сделать, это:

  • Выберите все записи.
  • Получить идентификатор для каждой записи.
  • Прокрутите по идентификаторам.
  • Обновите каждую запись с помощью этого идентификатора.

Синтаксис UPDATE имеет гораздо более простой способ сделать это. Вам не нужно предоставлять предложение WHERE в оператор UPDATE. Без этого предложения он по умолчанию обновит каждую запись в таблице:

UPDATE TableName SET `board`='value'

Также, помните, что у вас есть уязвимость SQL injection в вашем коде. Используя $_REQUEST['text'] непосредственно в вашем SQL-запросе, вы разрешаете любому пользователю отправлять SQL-код в ваш запрос. Затем ваш код выполняет все, что они вам отправляют. Это может привести к повреждению или удалению ваших данных, даже получить административный доступ к вашему серверу.

Для начала прекратите использование mysql_* функций. PHP устарел, и они больше не должны использоваться. Для них есть a mysqli_ замена. В дополнение к этому, используйте функцию mysqli_real_escape_string() для дезинфекции ваших входов перед их использованием в SQL-запросе. И, наконец, используйте подготовленные заявления вместо прямого объединения значений в вашу строку SQL.