Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否将数据从一个表复制到另一个表?_Php_Mysql - Fatal编程技术网

Php 是否将数据从一个表复制到另一个表?

Php 是否将数据从一个表复制到另一个表?,php,mysql,Php,Mysql,当用户注册到我的网站时,他们会填写一份注册表格,并将其详细信息放入名为ptb_registrations的表格中 在此之后,他们收到一封带有验证码的电子邮件,单击电子邮件链接并转到验证链接,输入正确的代码后,我希望运行查询 此查询需要充当插入查询,将数据从一个表(ptb_注册)复制到另一个表(ptb_用户) 有人能帮我解决这个问题吗,因为它不起作用,我也不确定我的方向是否正确。谢谢 // Make a safe query $query = sprintf("INSERT INTO ptb_us

当用户注册到我的网站时,他们会填写一份注册表格,并将其详细信息放入名为ptb_registrations的表格中

在此之后,他们收到一封带有验证码的电子邮件,单击电子邮件链接并转到验证链接,输入正确的代码后,我希望运行查询

此查询需要充当插入查询,将数据从一个表(ptb_注册)复制到另一个表(ptb_用户)

有人能帮我解决这个问题吗,因为它不起作用,我也不确定我的方向是否正确。谢谢

// Make a safe query
$query = sprintf("INSERT INTO ptb_users (first_name, last_name, email,    
    password, dob)
SELECT firstname, lastname, email, password    
    dob
WHERE not exists (select 1 from ptb_registrations where ptb_registrations.registration_code='$verificationcode';",
                    mysql_real_escape_string($newpassword));

mysql_query($query)or die('Could not update members: ' . mysql_error());

据我所知,您的查询中有很多语法错误:

select语句中的密码和dob之间没有逗号,select语句的From表未指定。此外,where条件看起来很奇怪(并且
语句没有结束括号)。至于我,你应该有这样一个查询:

$query = "INSERT INTO ptb_users (first_name, last_name, email, password, dob)
SELECT firstname, lastname, email,'". mysql_real_escape_string($newpassword)."', dob FROM ptb_registrations
WHERE ptb_registrations.registration_code=''". mysql_real_escape_string($$verificationcode).";"

此查询将从ptb_注册中获取一行,其中注册码等于从请求中收到的注册码,并将其插入ptb_用户(并将新密码作为用户密码)

您可以尝试以下操作:

SELECT firstname, lastname, email, password,dob
into yourtablename
from (tablename)
^ you are missing something here i.e your tablename
WHERE not exists (select 1 from ptb_registrations where
ptb_registrations.registration_code='$verificationcode';",
mysql_real_escape_string($newpassword)
  • 这将创建具有相同数据结构的新表

作为从表2中选择*插入表1;//请确保两个表的结构相同。@Lucifer-您应该将TIH作为答案,在
密码
dob
之间缺少逗号,在WHERE's子选择中缺少右括号。您应该会收到一条消息
无法更新成员:此处有错误
此处显示了什么错误?但对我来说,你的问题是在select中密码和dob之间没有逗号。我没有得到错误