2013-08-23 6 views
0

Я пытаюсь удалить информацию из базы данных через php-скрипт, но я получаю сообщение об ошибке.
Когда мы вводим идентификатор сотрудника, идентификатор должен быть удален. Однако он не удаляется, и я получаю сообщение об ошибке.Ошибка при удалении данных в моей базе данных через php

<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 для правильного синтаксиса использовать вблизи «WHERE emp_id = 1» в строке 1

ответ

0

Это должно быть

$sql = "DELETE from employee ". 
     "WHERE emp_id = $emp_id" ; 
0

Ваш запрос DELETE EMPLOYEE

Что вам нужно, это DELETE FROM EMPLOYEE, что следует делать, если структура таблицы нормальная.

0

Это просто ошибка синтаксиса!

Посмотрите, вы не хотите, чтобы удалить все сотрудника таблицы, но только одна линия, где emp_id = $ emp_id»

Так вот почему вы должны сказать, что вы хотите удалить из сотрудника TABLE, все строки, где emp_id = $ emp_id "!

Смежные вопросы