[英]PHP MYSQLI Unable to delete a row of data from database
我想在單擊刪除按鈕時刪除一行數據,例如用戶ID 4,但沒有任何反應。它只是彈出“您確定要刪除'4undefine”嗎?有人可以幫忙嗎?
index.php
<?php
$connection = mysqli_connect("localhost","root","","userdatabase");
mysqli_select_db($connection, "userdatabase");
$sql_query="SELECT * FROM user";
$result_set=mysqli_query($connection,$sql_query);
if(isset($_GET['delete_id']))
{
$sql_query="DELETE FROM user WHERE userid=".$_GET['delete_id'];
mysqli_query($sql_query);
header("Location: $_SERVER[PHP_SELF]");
}
?>
這是確認
<script type="text/javascript">
function delete_id(userid,username,password,email,workplace,role)
{
if(confirm("Are you sure you want to delete '" +userid+username))
{
window.location.href='adminhome.php?delete_id='+userid;
}
}
</script>
<?php
if(mysqli_num_rows($result_set)>0)
{
while($row=mysqli_fetch_row($result_set))
{
$userid = $row[0];
$username = $row[1];
$password = $row[2];
$email = $row[3];
$workplace = $row[4];
$role = $row[5];
?>
<tr>
<td><?php echo $userid; ?></td>
<td><?php echo $username; ?></td>
<td><?php echo $password; ?></td>
<td><?php echo $email; ?></td>
<td><?php echo $workplace; ?></td>
<td><?php echo $role; ?></td>
<td align="center"><a href="javascript:delete_id(<?php echo $row[0]; ?>)"><img src="RemoveUser.png" alt="Delete" /></a></td>
</tr>
<?php
}
}
因此,您的第一個問題是您已定義了如下函數:
function delete_id(userid,username,password,email,workplace,role)
但是這樣稱呼它:
delete_id(<?php echo $row[0]; ?>)
難怪username
未定義嗎? 然后,如上面的注釋所指出的那樣,在調用mysqli_query()
語法不正確。 它使用您正在使用的過程樣式中的兩個參數 。
接下來需要擔心的是,如果有人去http://your.site/adminhome.php?delete_id=4%20or%201=1會發生什么。 我建議您學習有關盡快防止SQL注入的知識 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.