Обновление одного столбца во всех строках таблицы
Я хочу, чтобы обновить один и тот же столбец во всех строках одной таблицы может кто-нибудь дать мне руку, как обновить стол ? есть только одно поле ввода, которое должно обновить все значения строк . этот код не работает, и я знаю, что что-то не так в индексе и массиве .
<?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 ответов
вы слишком усложняете решение. Для того, чтобы обновить каждую запись, подход, который вы пытаетесь принять:
- выбрать все записи.
- получить идентификатор для каждой записи.
- цикл через идентификаторы.
- обновите каждую запись по этому идентификатору.
на UPDATE
синтаксис имеет гораздо более простой способ сделать это. Вам не нужно поставлять WHERE
п. в UPDATE
заявление. Без этого предложения он будет по умолчанию обновите каждую запись в таблице:
UPDATE TableName SET `board`='value'
и, пожалуйста, имейте в виду, что у вас есть SQL-инъекций уязвимость в коде. Пользуясь
$_REQUEST['text']
непосредственно в вашем SQL-запросе вы разрешаете любому пользователю отправлять SQL-код в ваш запрос. Затем ваш код выполняет все, что они вам посылают. Это может позволить им повредить или удалить ваши данные, даже получить административный доступ к вашему серверу.
для начала, пожалуйста, прекратите использование mysql_*
функции. PHP устарел, и они больше не должны использоваться. Есть a mysqli_
замена для них. В дополнение к этому, используйте the mysqli_real_escape_string()
функции для очистки входных данных перед их использованием в SQL-запросе. И, наконец, используйте подготовленные заявления вместо прямого объединения значений в строку SQL.