1

我想选择表格的一行并插入另一个现有表格。(我使用phpand MySql。这两个表除了 id 和时间戳之外具有相同的列)

我试着做一辆购物车。我希望当有人付款时,从“carret”中选择该客户和该会话的所有产品并插入“comandes”。

例如,插入 - 选择工作如果我说WHERE session=4");
这也工作:echo session_id();所以我可以得到会话
但是这两件事不能一起工作。我不明白这个问题。我的 where 条件有什么问题?

mysql_query("INSERT INTO comandes (session,client,producte,preu_comanda,quantitat)
         SELECT session,client,producte,preu_unitat,quantitat
         FROM carret
         WHERE session='".session_id()."'");

我也试过没有成功:WHERE client='$_SESSION[client]'

4

1 回答 1

0

我终于用一个简单的“;”找到了问题 在末尾。我发布它是因为它可以帮助像我这样的其他 php 初学者。

这有效:

mysql_query("INSERT INTO comandes (id_carret,session,client,producte,preu_comanda,quantitat)
             SELECT id,session,client,producte,preu_unitat,quantitat
             FROM carret
             WHERE session='".session_id()."'");

这不起作用!问题在于最后的“;” 如果在那之后有“或死......”:

mysql_query("INSERT INTO comandes (id_carret,session,client,producte,preu_comanda,quantitat)
             SELECT id,session,client,producte,preu_unitat,quantitat
             FROM carret
             WHERE session='".session_id()."'");

or die("error:".mysql_error());

这行得通。现在我明白了,如果有最后的“or die...”,我应该删除前面的“;”

mysql_query("INSERT INTO comandes (id_carret,session,client,producte,preu_comanda,quantitat)
             SELECT id,session,client,producte,preu_unitat,quantitat
             FROM carret
             WHERE session='".session_id()."'")

or die("error:".mysql_error());
于 2012-11-09T14:54:59.987 回答