Я пытаюсь удалить определенную строку из таблицы, используя php. Я последовал за проводником в Интернете, который сделал таблицу с данными в ней с кнопкой удаления рядом с каждой строкой.Проблема с удалением определенной строки в php
Когда нажата кнопка удаления, она должна удалить строку, используя первичный ключ «id». Вместо этого он выполняет инструкцию «if» и перекликает «Ошибка».
Использование echo var_dump ($ _ GET) Я считаю, что он передает id, но предложение WHERE каким-то образом не получает идентификатор.
Если я удалить ИНЕКЕ, она будет работать, но, конечно, удалить все данные внутри таблицы
PHPDelete
<?php
$host="localhost"; // host name
$username="root"; // database username
$password="root"; // database password
$db_name="school"; // database name
$tbl_name="Student"; // table name
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<!--creating the table -->
<table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td colspan="5" bgcolor="#FFFFFF"><strong>Delete data</strong> </td>
</tr>
<tr>
<td align="center" bgcolor="#FFFFFF"><strong>id</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Name</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Age</strong></td>
<td align="center" bgcolor="#FFFFFF"><strong>Username</strong></td>
<td align="center" bgcolor="#FFFFFF"> </td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['Name']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['Age']; ?></td>
<td bgcolor="#FFFFFF"><? echo $rows['Username']; ?></td>
<td bgcolor="#FFFFFF"><a href='phpDelete2.php?id=$id'>delete</a></td>
</tr>
<?php
// close while loop
}
?>
</table>
<?php
// close connection;
mysql_close();
?>
и phpDelete2
<?php
$host="localhost"; // host name
$username="root"; // database username
$password="root"; // database password
$db_name="school"; // database name
$tbl_name="Student"; // table name
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select database");
// get value of id that sent from address bar
$id = $_GET['id'];
// Delete data in mysql from row that has this id
$sql="DELETE FROM $tbl_name";
$result=mysql_query($sql);
// if successfully deleted
if($result){
echo "Deleted Successfully";
echo "<BR>";
echo "<a href='index.php'>Back to main page</a>";
}
else {
echo "error";
}
?>
<?php
// close connection
mysql_close();
?>
Конкретизируйте ваши проблемные линии и обновление с должности. На данный момент в этом вопросе много ненужной информации –
FYI, mysql_functions устарели от php 5.5.x! Вместо этого вы должны переключиться на mysqli. http://php.net/manual/en/migration55.deprecated.php –
Добро пожаловать в переполнение стека! [** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). –