我从数据库中查询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;
任何指导都将不胜感激。
答案 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 ...
(列不需要命名相同,但为什么要麻烦。)