我想通過我自己的管理頁面刪除我的數據庫上的一個對象。它的工作方式很簡單:當我單擊與該對象相對應的行中的刪除按鈕時,JS代碼將獲取該對象的「id」屬性並將其傳遞給PHP以執行sql刪除查詢。儘管控制檯沒有顯示任何內容,但我的代碼無法運行。你介意看看我的代碼並找出它有什麼問題嗎?我使用PHP 7.包含所有必需的庫。非常感謝你!jQuery/PHP的 - 從JS傳遞數據到PHP在數據庫上執行刪除
這裏是我的代碼:
HTML:
<table>
<thead>
<th>ID</th>
<th>Name</th>
</thead>
<tbody>
<?php
include("../connect.php");
$sql = "select * from tbl";
$query = mysqli_query($connect,$sql);
while($data = mysqli_fetch_assoc($query)) {
?>
<tr>
<td class="data-id">
<?php echo $data['id'] ?>
</td>
<td>
<?php echo $data['name'] ?>
</td>
<td>
<img src="delete.png" class="delete-button">
</td>
</tr>
<?php } ?>
</tbody>
</table>
JS:
$(document).ready(function() {
$('.delete-button').click(function() {
var id = $(this).parent().siblings('.data-id').text();
$.ajax({
type: 'post',
url: 'http://localhost/myproject/delete.php',
data: {
"id":id
}
});
});
});
PHP delete.php
<?php
include("../connect.php");
if(isset($_POST["id"])) {
$id = $_POST["id"];
$sql = "delete from tbl where id=".$id;
$query = mysqli_query($connect,$sql);
}
?>
PHP connect.php
<?php
$connect = new mysqli("localhost","root","","db");
mysqli_set_charset($connect,'utf8');
?>
警告:你的代碼很容易受到SQL注入 –
謝謝@FastSnail,但這個問題是不是現在重要。我會照顧它以後:) –
你有沒有調試你的代碼嘗試打印sql查詢,看看有什麼問題'$ sql =「delete * from tbl where id =」。$ id;'; echo $ sql; '。例如,如果block可能不執行,可能是id沒有正確發送,並且是否有任何errors.check瀏覽器控制檯>網絡選項卡>單擊請求可以看到響應。 –