无法将我的数据存储到具有特定列的表中

时间:2015-09-29 04:05:48

标签: php mysql

我正在尝试从表单提交中的特定列向表中插入数据。我已经确保与数据库有连接。我想知道我是否正确地做到了这一点。这是我的代码:

<?php

$link = mysqli_connect("localhost", "root", "", "db_elcventory");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

$sql1 = "UPDATE request_items_db (req_qty) VALUES ('$amount1') WHERE item_db.item_id= request_items_db.item_id ";

if (mysqli_query($link, $sql1)){
    //$exec = mysqli_query($link, $sql1);
    echo "Records added successfully";                                
}
else {
    echo "ERROR: Could not execute.".mysqli_error($link);
}

mysqli_close($link);

?>
  

错误:无法执行。您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在#(; req_qty)值附近使用正确的语法(&#39; 2&#39;)WHERE item_db.item_id = request_items_db.item_id&#39;在第1行

以下是我的表单布局:

表单包含商品ID,商品名称和金额。 item_IDitem_name来自item_db,但金额需要存储在req_qty item_iditem_id相同的位置在item_db

2 个答案:

答案 0 :(得分:0)

'之后你错过了$amout1。您的查询应如下所示

INSERT INTO request_items_db (req_qty) VALUES ('$amount1')

WHERE可能会在INSERT INTO SELECTUPDATEDELETE语句中使用,但不会在您的INSERT

更新

您正在尝试的更新查询不正确

UPDATE request_items_db (req_qty) VALUES ('$amount1') WHERE item_db.item_id= request_items_db.item_id

应该是

UPDATE request_items_db SET req_qty = '$amount1' WHERE request_items_db.item_id = '$item_id'

答案 1 :(得分:0)

首先,您的语法不正确。它应该是

$sql1 = "INSERT INTO request_items_db (req_qty) VALUES ('$amount1') 
         WHERE item_db.item_id= request_items_db.item_id ";

其次,您不能将WHEREINSERT一起使用。如果要更新现有字段,请使用UPDATE查询。您的UPDATE查询应为

$sql1 = "UPDATE request_items_db SET req_qty='$amount1' 
          WHERE  item_db.item_id= request_items_db.item_id";