0

我正在尝试通过 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”附近使用正确的语法

4

4 回答 4

1

正确的语法在这里:http ://dev.mysql.com/doc/refman/5.0/en/delete.html

你需要说删除

$sql = "DELETE **from** employee ".
   "WHERE emp_id = $emp_id" ;
于 2013-08-23T02:34:39.190 回答
0

它应该是

$sql = "DELETE from employee ".
       "WHERE emp_id = $emp_id" ;
于 2013-08-23T02:34:13.140 回答
0

您的查询是DELETE EMPLOYEE

您需要的是DELETE FROM EMPLOYEE,如果表结构正常,应该这样做。

于 2013-08-23T02:34:24.993 回答
0

这只是一个语法错误!

看,您不想删除所有表员工,而只想删除一行 where emp_id = $emp_id"

所以这就是为什么你需要说你想从 TABLE 员工中删除所有 emp_id = $emp_id" 的行!

于 2013-08-23T02:43:52.607 回答