Удаление записи из таблицы MySQL с использованием переменной PHP

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

Вот код (я знаю, что это не инъекция доказательство):

Чтобы отобразить всю запись в таблице

<?php $query="SELECT * FROM testimony"; $result=mysql_query($query); while($row=mysql_fetch_array($result)) { ?> <div> <form name="testimonial" action="admintestimony.php" method="post"> <table border="0"> <tr> <td>Username:</td> <td></td> <td><input type="text" name="testyname" value='<?php echo $row[0];?>' readonly></td> </tr> <tr> <td>Testimony:</td> <td></td> <td><textarea name="txttesty" cols="50" rows="10" readonly><?php echo $row[1];?></textarea></td> </tr> <tr> <td><input type="submit" name="approve" value="Approve"></td> <td></td> <td><input type="submit" name="reject" value="Reject"></td> </tr> </table> </form> </div> <?php } ?> 

Чтобы проверить, нажата ли кнопка подтверждения или отклонения

 <?php session_start(); include('connection.php'); $testyname=$_POST['testyname']; if (isset($_POST['approve'])) { header("location:testimonyapproved.php"); } else if (isset($_POST['reject'])) { header("location:reject.php"); } ?> в <?php session_start(); include('connection.php'); $testyname=$_POST['testyname']; if (isset($_POST['approve'])) { header("location:testimonyapproved.php"); } else if (isset($_POST['reject'])) { header("location:reject.php"); } ?> 

Если отклонение нажата

 <?php session_start(); $testyname=$_POST['testyname']; include('connection.php'); mysql_query("SELECT * FROM testimony"); mysql_query("DELETE FROM 'transaction' WHERE 'transaction' 'name' = $testyname"); header("location:testimonyrejected.php"); ?> в <?php session_start(); $testyname=$_POST['testyname']; include('connection.php'); mysql_query("SELECT * FROM testimony"); mysql_query("DELETE FROM 'transaction' WHERE 'transaction' 'name' = $testyname"); header("location:testimonyrejected.php"); ?> 

Любая помощь будет оценена, спасибо.

Solutions Collecting From Web of "Удаление записи из таблицы MySQL с использованием переменной PHP"

его SQL

  DELETE FROM `transaction` where `name` = $testyname 

скорее всего, будет работать лучше

Ваш SQL ошибочно отформатирован (кавычки в неправильных местах). Я добавил несколько комментариев в этот улучшенный код, проверьте его.

 mysql_query("SELECT * FROM testimony"); //this line is useless and you can delete it mysql_query("DELETE FROM transaction WHERE name = '".$testyname."'"); //this line contained wrong syntax 

Обратите внимание, что функции mysql_ устарели в новых версиях PHP. Проверьте этот пост на дополнительной информации по этому вопросу.

Также вы можете запретить SQL-инъекцию в переменной $testmyname . Это руководство поможет вам с tat.