2017-03-31 82 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注入。