在php中删除特定行时出现问题
我一直在尝试使用php从表中删除特定行。我按照在线指南制作了一个表,其中包含数据,每行旁边都有一个删除按钮 单击“删除”按钮时,应使用主键“id”删除该行。相反,它通过“if”语句并回显“Error” 使用echo var_dump($_GET),我相信它正在传递id,但是WHERE子句不知何故没有接收id 如果我删除WHERE子句,它将起作用,但当然会删除表中的所有数据 普德莱特在php中删除特定行时出现问题,php,mysql,sql,row,Php,Mysql,Sql,Row,我一直在尝试使用php从表中删除特定行。我按照在线指南制作了一个表,其中包含数据,每行旁边都有一个删除按钮 单击“删除”按钮时,应使用主键“id”删除该行。相反,它通过“if”语句并回显“Error” 使用echo var_dump($_GET),我相信它正在传递id,但是WHERE子句不知何故没有接收id 如果我删除WHERE子句,它将起作用,但当然会删除表中的所有数据 普德莱特 <?php $host="localhost"; // host name $username="roo
<?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();
?>
删除数据
id
名称
年龄
用户名
和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();
?>
您从来没有想过实际回显您的ID值:
<td bgcolor="#FFFFFF"><a href='phpDelete2.php?id=$id'>delete</a></td>
同时也要注意……缩小麻烦的范围,并用帖子进行更新。目前,在这个问题中有很多不必要的信息。fyi,mysql_函数在PHP5.5.x中被弃用!你应该改用mysqli。欢迎来到Stack Overflow。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。
<td bgcolor="#FFFFFF"><a href='phpDelete2.php?id=<?php echo $id ?>'>delete</a></td>
^^^^^^^^^^^^^^^^^
DELETE FROM yourtable WHERE id = ID_VALUE_GOES_HERE