我一直在努力为我网站的用户制作一个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);
?>
答案 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
条件