Таким образом, у меня есть следующая проблема:Update MYSQL с PHP, удаляет значение вместо
У меня есть таблица, в которой я наполняться данными из моей базы данных MySQL, а затем отобразить на сайте. Я хочу сделать это так, чтобы вы могли изменить, например. описание впоследствии. Вместо этого я сейчас понял, что я опорожнил значение. Я не вижу, где мой код идет не так, поэтому я был бы признателен за помощь. :)
HTML
<tbody>
<?php
foreach($records as $r) {
?>
<tr><?php
echo "<td>" . "<div class=table-image>" . "<img src=Assets/Images/" . escape($r->name) . " </td>". "</div>";
?>
<td><div class="data"><?php echo escape($r->name); ?></div></td>
<td><div class="data"><?php echo escape($r->location); ?></div></td>
<td><div class="data"><?php echo escape($r->partners); ?></div></td>
<td><a href="https://goo.gl/maps/S5Drk" target="_blank">◈ Google Maps</a></td>
<td class="tDesc">
<div class="desc">
<input class="form-control" value="<? echo escape($r->description); ?>" name="description" type="text">
</div>
</td>
<td>
<?php echo escape($r->date); ?>
</td>
<td>
<form method="post" action="" enctype="multipart/form-data">
<input type="submit" value="<? echo escape($r->id); ?>" name="delete">
</form>
</td>
<td>
<form method="post" action="" enctype="multipart/form-data">
<input type="submit" value="<? echo escape($r->id); ?>" name="update">
</form>
</td>
</tr>
<?php
}
?>
</tbody>
PHP
if(isset($_POST['update'])){
$des = $_POST['description'];
$UpdateQuery = "UPDATE repo SET description = '$des', date = NOW() WHERE id ='$_POST[update]' ";
mysql_query($UpdateQuery);
};
Будьте благодарны, что удаляет только одну запись. Ваш запрос такой же опасный, как и он! Вы используете *** устаревшее *** 'mysql' расширение ([читайте ** красное поле ** вверху] (http://www.php.net/mysql_connect) - он говорит _warning_ по какой-либо причине). Узнайте о инъекциях и о том, как их предотвратить. Используйте либо одно из современных расширений ('PDO' или' mysqli'): они поддерживают подготовленные операторы и довольно просты в использовании. [здесь приведен пример] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) –
Вместо 'mysql_query ($ UpdateQuery);', напишите 'die ($ UpdateQuery) '. Какой текст вы видите? Можете ли вы объяснить, как это произошло? – Konerak
UPDATE repo SET description = '', date = NOW() WHERE id = '46 ' Это текст, который я вижу. Не знаю, извините. Я изучаю php ровно 24 часа, поэтому мое общее понимание этого по-прежнему очень низкое. Я не думаю, что я сделал синтаксическую ошибку. Так, может, я объявил что-то не так? – Ozymandias