将一个查询的发布结果添加到同一表中现有的列/行中


add post result from one query to an existing column/row in same table

我正试图将第二个连续发布的结果存储到已存储在表中的第一个查询的结果中。

第一个查询:

// Get values from form 
 $monto=$_POST['monto'];
 $personas=$_POST['personas'];
 $ciudad=$_POST['ciudad'];
 $giro1=$_POST['giro1'];
 $giro2=$_POST['giro2'];
// Insert data into mysql 
$sql="INSERT INTO $tbl_name(monto, personas, ciudad, giro1,           giro2)VALUES('$monto', '$personas', '$ciudad', '$giro1', '$giro2')";
$result=mysql_query($sql);

如果giro1,则根据选择捕获giro2的值,但所有giro1都应与在同一表中的同一行中结束

uid | monto| personas| ciudad| giro1| giro2 
--------------------------------------------
1   |  5   |   1     |   NY  | food | Null

第二种形式的POST:

// Get values from form 
$giro2=$_POST['giro2'];
// Insert data into mysql 
$sql="INSERT INTO $tbl_name (giro2) VALUES ('$giro2') SELECT uid FROM     $tbl_name WHERE uid = 1";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful". 
if($result){
    echo "Successful";
    echo "<BR>";
    echo "<a href='index.html'>Back to main page</a>";
} else {
    echo "ERROR";
}

最后我得到错误,或者如果我删除SELECT。。。我将gir2存储在uid=2 中

如何将第二篇文章保存到同一行和正确的列中?

此行在同一行中有两条sql语句

$sql="INSERT INTO $tbl_name (giro2) VALUES ('$giro2') SELECT uid FROM     $tbl_name WHERE uid = 1";

你必须把它一分为二。首先获取uid,然后使用值用update而不是INSERT更新表。INSERT在表中插入新值,正如名称所示,UPDATE更新旧值。

然而,您似乎已经知道要更新的uid的编号是1。那么你唯一需要的就是:

$sql = "UPDATE TABLE "$tbl_name" SET giro2 = "$giro2" WHERE uid = 1";
$result=mysql_query($sql);