繁体   English   中英

在MySQL中插入具有WHERE条件的查询

[英]Insert query with WHERE condition in mysql

我试图在某些条件下将数据插入mysql表。 但这会导致一些错误

error on queryYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 

我尝试了以下查询,

if(isset($_POST['submit'])){
    $type=$_POST['leave_type'];
    $division=$_POST['division'];
    $number_of_date=$_POST['number_of_date'];

    $resul=mysql_query("SELECT * from employee where (division='$division' || division='all_dpt')") or die("query error".mysql_error());
    $result3 = mysql_fetch_array($resul);
    $emp_division=$result3['division'];
    $id=$result3['emp_id'];
    $annual_additional=$result3['annual_additional'];

    $value=$annual_additional+$number_of_date;

    if(($division==$emp_division || $division='all_dpt') && $type='Annual'){
        $result1=mysql_query("INSERT INTO employee (annual_additional) VALUES ('$value') WHERE emp_id='$id'")or die("error on query".mysql_error());
    }}

我该如何解决,请帮忙!

您不能使用INSERT.....WHERE ,要更新行,您需要UPDATE....WHERE

如果您有需要插入的条件,并且key不存在,请使用给定的示例。

演示例如:

INSERT INTO Users (id, weight, desiredWeight) VALUES(1, 160, 145) ON DUPLICATE KEY UPDATE weight=160, desiredWeight=145

收集自: MySQL Insert Where查询

与女巫查询您得到错误?插入? 此外,请使用mysql_real_escape_string或以下网址http : //pear.php.net/package/DB进行查询。

重要警告: mysql_query在PHP 5.5.0中已弃用,在PHP 7.0.0中已被删除。 相反,应使用MySQLi或PDO_MySQL扩展。 另请参见MySQL:选择API指南和相关的FAQ,以获取更多信息。 此功能的替代方法包括mysqli_query()和PDO :: query()

出于教育目的 :如果使用的是mysql_query,这就是代码的外观:

//you should definitely create a function that sanitizes the users input
//so that you don't get hacked via sql injection:
$value = sanitize($value);
$id= sanitize($id);

$sql = "UPDATE employee SET annual_additional = '$value' 
WHERE emp_id='$id'";
if (!result = mysql_query($sql))
{
    die("query error".mysql_error());
}

您应该使用“ UPDATE”而不是“ INSERT”

UPDATE employee SET `annual_additional`='$value' WHERE `emp_id`='$id' 

希望它会工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM