繁体   English   中英

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

[英]How to use results of a mysql query - eg store in another table

我从数据库查询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 ['user']),而不是使用'where ID = 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 ...

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

暂无
暂无

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

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