如何使用mysql查询的结果 - 例如存储在另一个表中

时间:2013-03-26 00:53:12

标签: php sql

我从数据库中查询mysql以返回我想稍后使用的字段。

我可以让查询运行,我可以使用echo从字段打印数据,以证明结果符合预期 。 我已经尝试了各种脚本来将结果字段存储为变量,但到目前为止还没有成功。

任何人都可以提供协助。

这是查询脚本 -

$query = mysql_query("SELECT ID FROM users WHERE username = ".$_SESSION['user']); 

while($row = mysql_fetch_object($query) )
{
echo "$row->ID<br />";

我现在需要将ID存储为变量以进行测试,并可能存储在具有其他数据的另一个表中。

我不是一名程序员,正在尝试完成由其他人创建的家庭项目。

感谢。

编辑1

我一直在尝试将数据存入临时数据库并遇到问题。

如果我将其输入phpMyadmin它可以正常工作

INSERT INTO tempusertrip (username,ID) SELECT username,ID FROM users WHERE ID=1

但是,如果我将它添加到我的php脚本中它没有,并且日志文件中没有错误。 我像这样添加它

$query1 = ("INSERT INTO temp2 (username,ID) SELECT username,ID FROM users WHERE ID=1");

我的剧本显然有问题,但我似乎无法弄清楚它是什么。

理想情况下,我需要输入数据,其中条件基于先前会话集中包含的用户名($ _SESSION [&#39; user&#39;])而不是使用&#39;其中ID = 1&# 39;

任何指导都将不胜感激。

1 个答案:

答案 0 :(得分:1)

首先,您需要为数据创建一个表。它可以是只有您的连接可以看到的临时表,也可以是常规表(如果其他连接需要数据)。您需要从源(如果不是全部)确定所需的列以及您正在执行的操作(如果有)可能需要的额外列。通常,您只需要新表中原始表中的主键。对于MySQL,如果新表与旧表相同,请使用CREATE ... LIKE old_tbl_name语法进行前向兼容。

接下来(这可能就是你首先想要的),你将从旧表中选择插入新表:

INSERT INTO new_tbl_name SELECT ... FROM old_tbl_name WHERE ...

如果您有额外的列,则需要指定要复制的列:

INSERT INTO selected_users (username) SELECT username FROM users WHERE ...

(列不需要命名相同,但为什么要麻烦。)