【发布时间】:2019-06-09 06:01:11
【问题描述】:
我正在尝试根据创建的第一个表UserID(自动增量)将相同的数据插入到第二个表中。
我创建了一个 INSERT 查询,它将用户注册数据插入到users_tb 表中。它成功地工作。然后我需要根据users_tb中的UserID,将描述数据的地址插入address_tb表中。但不幸的是,它不起作用。
//Rady to insert:
$results = $Street. ", " .$Apt. ", " .$City. ", " .$State. ", " .$ZipCode. ", " .$Country;
$query = mysql_query("INSERT INTO users_tb (UserId , FirstName , LastName , Email , Username , Password , Street , Apt , City , State , ZipCode , Country , Address , HomePhone , MobilePhone , Lat, Lng, Membership) VALUES ('' , '$First_Name' , '$Last_Name' , '$Email' , '$Username' , '$hashedPW' , '$Street' , '$Apt' , '$City' , '$State' ,'$ZipCode' ,'$Country' , '$results' , '$Ph_Number' , '$Mb_Number' , '0' , '0' , '1')");
// Insert Data into address_tb
$ad = mysql_query("SELECT UserID , Username FROM users_tb WHERE Username = $Username");
$adad = mysql_fetch_row($ad);
$UserID = mysql_real_escape_string($adad['UserID']);
$query = mysql_query("INSERT INTO address_tb (AddressID , Street , Apt , City , State , ZipCode , Country , Address , Lat , Lng , UserID) VALUES ('' , '$Street' , '$Apt' , '$City' , '$State' ,'$ZipCode' ,'$Country' , '$results' , '0' , '0' , '$UserID')");
我的address_tb 表中还需要有地址字段以及相应的UserID。
【问题讨论】:
-
请参数化您的语句,您可能容易受到 SQL 注入的攻击。有关更多信息,请参阅此question & answer。此外,
mysql_*函数不再支持,它们在 PHP 7.0.0 中为 officially deprecated、不再维护和 removed。您应该使用PDO 或MySQLi 更新您的代码,以确保您的项目在未来的功能。 -
为什么要复制数据?你不能标准化你的数据库吗?