4

我从数据库中查询 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”。

任何指导将不胜感激。

4

1 回答 1

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 ...

(列名不必同名,何必自找麻烦。)

于 2013-03-26T02:03:42.020 回答