您好我有一张满是公司名称的表格,我遇到的问题是它充满了重复。
要解决此问题,我使用以下代码从一个表中删除数据,然后使用DISTINCT将其插入另一个表中。
当我运行代码时,我不断收到以下错误,
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在第4行的'Group Holdings Ltd'附近使用正确的语法
如果我删除公司名称变量,它会很好地插入所有的IP地址,但是一旦我尝试插入公司名称,我就会收到上述错误。
$query = "SELECT DISTINCT ip_address, company_name, FROM companydetail1";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$ip_address = $row['ip_address'];
$company_name = $row['company_name'] ;
mysql_real_escape_string($company_name);
mysql_real_escape_string($ip_address);
mysql_query("INSERT INTO companydetail30 (ip_address, company_name) VALUES ('$ip_address', '$company_name') ") or die(mysql_error());
}
任何建议都将不胜感激。
谢谢
答案 0 :(得分:1)
您的代码不仅无法在当前状态下运行,而且还因为您错误地使用 mysql_real_escape_string 而容易受到SQL注入攻击。
mysql_real_escape_string 函数将转义后的字符串作为返回值返回,因此您需要将其分配回变量以保存转义字符串:
$company_name = mysql_real_escape_string($company_name);
$ip_address = mysql_real_escape_string($ip_address);
答案 1 :(得分:0)
在你的查询中有不同的错误
$query = "SELECT DISTINCT ip_address, company_name, FROM companydetail1";
在company_name之后有一个“,”它不应该是
查询应该是这样的
$query = "SELECT DISTINCT ip_address, company_name FROM companydetail1";
其次你应该这样做。
$company_name = mysql_real_escape_string($company_name);
$ip_address = mysql_real_escape_string($ip_address);