麻烦从一张桌子上取一个公司名称,将其插入另一张桌子

时间:2013-11-04 13:28:47

标签: php mysql

您好我有一张满是公司名称的表格,我遇到的问题是它充满了重复。

要解决此问题,我使用以下代码从一个表中删除数据,然后使用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());
   }

任何建议都将不胜感激。

谢谢

2 个答案:

答案 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);