【问题标题】:delete record in database-php [closed]删除数据库-php中的记录[关闭]
【发布时间】:2014-02-09 05:04:51
【问题描述】:

我在 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>";

    }
}

?>

我在删除记录时总是出错,任何人都可以检查一下为什么它总是这样显示

【问题讨论】:

  • 你能在这里写错误描述吗??
  • 删除用户时出错!
  • 当你点击删除并转到administration.php时,你在地址栏中看到的URL是什么?
  • var_dump($_REQUEST['user']);

标签: php sql database


【解决方案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】:

您的查询似乎也不正确。

而不是

"DELETE FROM tblru WHERE user=" . $_REQUEST['user']

你应该写

"DELETE FROM tblru WHERE user='" . $_REQUEST['user'] . "'"

因为 user 是 varchar/string 而不是数字(这是我的猜测)。

如果您可以发布某种错误(DB/代码?),那么我们也会知道在哪里搜索。

【讨论】:

    【解决方案3】:

    你应该先连接到数据库。 使用 mysqli 而不是 mysql。这是一种更好的方法。 查看http://www.php.net/manual/en/mysqli.quickstart.connections.phphttp://il1.php.net/function.mysql-connect 上的示例。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-03
      • 2015-07-02
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多