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

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

<?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);
     }

    }   
?>

1 ответов


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

  1. выбрать все записи.
  2. получить идентификатор для каждой записи.
  3. цикл через идентификаторы.
  4. обновите каждую запись по этому идентификатору.

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

UPDATE TableName SET `board`='value'

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

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