我在我的administration.php中获得了这段代码:
<?php
include("conn.php");
session_start();
if(!isset($_SESSION['user'])){
header("location:index.php");
exit();
}
if(isset($_REQUEST['user'])){
mysql_query("DELETE FROM tblru WHERE user=" . $_REQUEST['user']);
if(mysql_affected_rows($con)>0){
header("location:administration.php");
exit();
}
else{
echo "ERROR in deleting the user!";
}
}
?>
我的身体上有这个代码:
<?php
$result=mysql_query("SELECT * FROM tblru");
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result)){
echo "<tr bgcolor='#999999'>
<td>" . $row[0] . "</td>
<td>" . $row[1] . "</td>
<td align='center'><a href='administration.php?user=" . $row[0]."' onClick=\"return confirm('Confirm Deletion of Registered User?');\"><font color='#FFFFFF'>Delete</font></a></td></tr>";
}
}
?>
我在删除记录时遇到错误,任何人都可以查看为什么它总是显示为
答案 0 :(得分:1)
您的查询似乎也不正确。
而不是
"DELETE FROM tblru WHERE user=" . $_REQUEST['user']
你应该写
"DELETE FROM tblru WHERE user='" . $_REQUEST['user'] . "'"
因为user是varchar / string而不是数字(这是我的猜测)。
如果您发布某种错误(数据库/代码?),那么我们也会知道在哪里搜索。
答案 1 :(得分:1)
试试以下......
<?php
include("conn.php");
session_start();
if(!isset($_SESSION['user'])){
header("location:index.php");
exit();
}
if(isset($_REQUEST['user'])){
mysql_query("DELETE FROM tblru WHERE user= '" . $_REQUEST['user'] . "'");
if(mysql_affected_rows($con)>0){
header("location:administration.php");
exit();
}
else{
echo "ERROR in deleting the user!";
}
}
?>
如果您想使用不会打扰用户的安全代码,请在下面使用(SQL INJECTION)
<?php
include("conn.php");
session_start();
if(!isset($_SESSION['user'])){
header("location:index.php");
exit();
}
if(isset($_REQUEST['user'])){
mysql_query("DELETE FROM tblru WHERE user= '" . mysql_real_escape_string($_REQUEST['user']) . "'");
if(mysql_affected_rows($con)>0){
header("location:administration.php");
exit();
}
else{
echo "ERROR in deleting the user!";
}
}
?>
答案 2 :(得分:0)
您应首先连接到数据库。 使用mysqli而不是mysql。这是一种更好的方法。 请查看http://www.php.net/manual/en/mysqli.quickstart.connections.php或http://il1.php.net/function.mysql-connect上的示例。
祝你好运。