我试图通过php脚本从数据库中删除信息但是我收到了错误 输入员工ID时,应删除该ID。但是,它不会删除,我会收到错误。
<html>
<head>
<title>Delete a Record from MySQL Database</title>
</head>
<body>
<?php
if (isset($_POST['delete'])) {
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
$emp_id = $_POST['emp_id'];
$sql = "DELETE employee " .
"WHERE emp_id = $emp_id";
mysql_select_db('test');
$retval = mysql_query($sql, $conn);
if (!$retval) {
die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
} else { ?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Employee ID</td>
<td><input name="emp_id" type="text" id="emp_id"></td>
</tr>
<tr>
<td width="100"></td>
<td></td>
</tr>
<tr>
<td width="100"></td>
<td>
<input name="delete" type="submit" id="delete"
value="Delete">
</td>
</tr>
</table>
</form>
<?php } ?>
</body>
我得到的错误是:
无法删除数据:SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“WHERE emp_id = 1”附近使用正确的语法
答案 0 :(得分:1)
正确的语法在这里:http://dev.mysql.com/doc/refman/5.0/en/delete.html
你需要说从
删除$sql = "DELETE **from** employee ".
"WHERE emp_id = $emp_id" ;
答案 1 :(得分:0)
应该是
$sql = "DELETE from employee ".
"WHERE emp_id = $emp_id" ;
答案 2 :(得分:0)
您的查询是DELETE EMPLOYEE
您需要的是DELETE FROM EMPLOYEE
,如果表格结构正常,应该这样做。
答案 3 :(得分:0)
这只是语法错误!
看,您不想删除所有表员工,只需要一行emp_id = $ emp_id“
这就是为什么你需要说你想要从TABLE员工中删除所有行,其中emp_id = $ emp_id“!