2017-03-31 104 views
-2

你好我有我的代碼我只想刪除一個特定的行,但它會刪除所有當我運行我的程序..?刪除表中的信息

<html> 
<body> 
<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "csedb"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

// sql to delete a record 
$sql = "DELETE FROM addform WHERE id_stu=$id_stu"; 

if (mysqli_query($conn, $sql)) { 
echo "Record deleted successfully"; 
} else { 
echo "Error deleting record: " . mysqli_error($conn); 
} 
if($sql) 
{ 
header('location:student.php'); 
} 
mysqli_close($conn); 
?> 
</body> 
</html> 
+0

你的where子句只有一半。 –

+2

您必須在刪除查詢中爲'id_stu'賦值。 –

+0

SQL查詢有一個會話語法,所以如果你閱讀'DELETE FROM addform where id_stu' does not missing'= someid'?但我的東西'DELETE FROM addform WHERE id_stu'應該在sql中引發語法錯誤,但它沒有。不太好。目前它會解釋爲:'DELETE FROM addform WHERE id_stu IS NOT NULL' or not empty – JustOnUnderMillions

回答

1

給值where子句像

$sql = "DELETE FROM addform WHERE id_stu=<id_or_value>"; 

希望它有助於

+0

我試過已經把這個ID,但它有類似的結果 – Kimboi

+0

可以請你分享表結構,我的理解 – Tristup

+0

謝謝你沒關係:) – Kimboi

0

您需要提供一個值id_stu DELETE FROM addform WHERE id_stu =你的電話號碼

0

你必須給出一個值:

$sql = "DELETE FROM addform WHERE id_stu = 1"; 
+0

我試過這也是$ sql =「DELETE FROM addform WHERE id_stu = id_stu」;我有我的刪除按鈕,我不必把價值。 – Kimboi

+0

所以你必須將你的目標值傳遞給刪除查詢。 – mohe14

0

您需要傳遞要刪除的行的特定標識。

$sql = "DELETE FROM addform WHERE id_stu=id_to_delete"; 

此外,不要忘記看看如何防止SQL注入。