gpt4 book ai didi

php - 使用 PDO 删除用户

转载 作者:行者123 更新时间:2023-11-29 06:48:59 25 4
gpt4 key购买 nike

大家好,我的删除用户形式有问题,当我提交按钮时什么也没发生,问题是什么,当我获取它们来的信息时,数据库上的一切都正常,但当我点击删除时什么也没有发生

  <?php



$host ="localhost";
$dbname ="justnew";
$u_name="root";
$u_pass="youcef02";

echo'
<table border="1px solid #efefef" width="42%">
<tr>
<th>ID</th>
<th>Name</th>
<th>Password</th>
<th>DELETE</th>
</tr>


';
try{
$Conn = new PDO("mysql:host=$host;dbname=$dbname",$u_name,$u_pass);

}

catch(PDOEXCEPTION $e){
echo'There is a prblm' .$e->getMessage();

}

$sql = "SELECT * FROM addu";
$result = $Conn->query($sql);

while($row = $result->fetch(PDO::FETCH_OBJ)) {
echo"
<tr>
<td>" .$row->u_id."</td>
<td>" .$row->u_name."</td>
<td>" .$row->u_pass."</td>
<td><button name='dlt'><a href='attribute.php?
type=dlt&u_id=".$row->u_id."' name='dlt'>DELETE</a></button></td>
</tr>
";
}


if($_GET['type'] == ['dlt']){

$id = intval ($_GET['u_id']);


$Dsql = "DELETE * FROM `addu` WHERE `u_id` ='".$id."'";
$Dresult = $Conn->exec($Dsql);



}
?>

最佳答案

看到没有人愿意为此发表答案,我提交以下内容。

如上所述:if($_GET['type'] == ['dlt'])是无效的。 dlt 周围的括号需要删除,并且会引发语法错误。

  • if($_GET['type'] == 'dlt')

但是,您应该检查 GET 数组是否已设置/不为空,因为如果没有它,也会抛出一个 undefined index 警告,其中包含 error reporting在您的系统上设置。

if(isset($_GET['type']) && $_GET['type'] == 'dlt')

if(!empty($_GET['type']) && $_GET['type'] == 'dlt')

那么您的查询的 DELETE 部分也无效。

它应该读作:

$Dsql = "DELETE FROM `addu` WHERE `u_id` ='".$id."'";

星号仅对 SELECT 语句有效:

使用 (PDO) 错误处理后,您肯定会收到语法错误:

现在这一点可能会产生不利影响:

<td><button name='dlt'><a href='attribute.php?
type=dlt&u_id=".$row->u_id."' name='dlt'>DELETE</a></button></td>
</tr>
";

(通常)最好将所有这些都放在一行中:

<td><button name='dlt'><a href='attribute.php?type=dlt&u_id=".$row->u_id."'>DELETE</a></button></td>
</tr>
";

此处可以计算添加的空格。

注意:您使用了 name属性两次。

如果上述失败,则 <a href></a>不应该在 <button></button> 内,只需使用 <a href></a> .

关于php - 使用 PDO 删除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com