' WHERE emp_id = $ emp_id'附近的语法错误在第1行

时间:2014-08-25 12:09:03

标签: php mysql

我一直在努力为我网站的用户制作一个php表单页面。 当我打开.php页面时,我收到了标准的错误消息:

无法输入数据:SQL语法中有错误;检查与MariaDB服务器版本对应的手册,以便在第1行的“WHERE emp_id = $ emp_id”附近使用正确的语法

任何人都可以帮我解释这些命令的语法???

守则在这里:

<?php
include 'dbc.php';

$emp_id = $_POST['emp_id'];
$emp_name = $_POST['emp_name'];
$emp_address = $_POST['emp_address'];
$emp_salary = $_POST['emp_salary'];
$emp_date = $_POST['join_date'];

$sql = 'INSERT INTO employee SET emp_salary = $emp_salary WHERE emp_id = $emp_id';

mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
?>

5 个答案:

答案 0 :(得分:1)

查询语法错误。您必须使用UPDATE查询。当您将查询括在单引号中时,PHP变量将不会被替换。所以改变

$sql = 'UPDATE employee SET emp_salary = $emp_salary WHERE emp_id = $emp_id';

$sql = "UPDATE employee SET emp_salary = $emp_salary WHERE emp_id = $emp_id";

$sql = 'UPDATE employee SET emp_salary = '.$emp_salary.' WHERE emp_id = '.$emp_id;

答案 1 :(得分:0)

嗨,你们所有的好人

我非常感谢答案的数量!

找到了正确的解决方案,并通过以下声明解决了问题:

$sql = "UPDATE `employee` SET `emp_salary` = '$emp_salary' WHERE emp_id = '$emp_id'";

大多数人对UPDATE的语法和选择都是正确的。

以上陈述功能很好,但找到方法有点困难。

再次感谢您的善意,帮助和时间来回答我的帮助

John Engelsby-Hansen

答案 2 :(得分:-1)

$sql = 'UPDATE employee SET emp_salary=$emp_salary WHERE emp_id = '.$emp_id;

答案 3 :(得分:-1)

插入查询应为

$sql = 'INSERT INTO employee SET emp_salary = $emp_salary'; // it is valid without where clause

并且插入Qqery

中的Where子句没有任何意义

实际上,如果你想更新记录,那么写一个更新查询,我们必须为列设置值

喜欢

$sql = 'Update  employee SET emp_salary= $emp_salary WHERE emp_id = $emp_id';

答案 4 :(得分:-2)

您的更新查询错误

如果是UPDATE查询,那么它应该是

UPDATE employee SET emp_salary = $emp_salary WHERE emp_id = $emp_id

如果您正在尝试insert a row then how can you use a WHERE condition

WHERE

的情况下使用

UPDATE QUERY, NOT INSERT QUery条件