各位大哥好, 工作上临时需要用php操作个数据库, 但是不知道为什么一直无法成功Insert数据进Database, 想请各位帮忙检查一下哪里出错了<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
</head>
<?php
$connect = mysql_connect("192.168.0.1","xxx","xxx");
mysql_query("SET NAMES 'utf8'");
$sql= "select * from component"; 
$db = mysql_select_db("Naming",$connect); 
$query = mysql_query($sql , $connect); 
while($row = mysql_fetch_row($query))
{
$db1 = mysql_select_db("testPLM",$connect);
$sql1= "select * from component where name='".$row[0]."'";
$query1 = mysql_query($sql1 , $connect);
if(mysql_num_rows($query1)) 
{
while($row1 = mysql_fetch_row($query1)){
if ($row[0]==$row1[0]){
echo "same--->". $row1[0] . "<BR>";
}
}

}
else
{
echo "different--->". $row[0]. "<BR>";


mysql_select_db("testPLM",$connect);

mysql_query("SET NAMES utf8");
//底下要把另一个数据库没有的数据加入, 可是都报错
mysql_query("INSERT INTO version (name, time, description) VALUES('{$row[0]}', NULL, NULL)") or die('Insert data fail');
 }

 
?> 

解决方案 »

  1.   


    while($row = mysql_fetch_row($query))
    {
    $db1 = mysql_select_db("testPLM",$connect);
    $sql1= "select * from component where name='".$row[0]."'";
    $query1 = mysql_query($sql1 , $connect);

    $exsitQuery = false;
    while($row1 = mysql_fetch_row($query1))
    {
    if ($row[0]==$row1[0])
    {
    echo "same--->". $row1[0] . "<BR>";
    }
    $exsitQuery = true;
    }
    if($exsitQuery === true)
    {
    echo "different--->". $row[0]. "<BR>";


    mysql_select_db("testPLM",$connect);

    mysql_query("SET NAMES utf8");
    //底下要把另一个数据库没有的数据加入, 可是都报错
    mysql_query("INSERT INTO version (name, time, description) VALUES('{$row[0]}', NULL, NULL)") or die('Insert data fail');
    }

      

  2.   

    刚发现原来是我Insert的table弄错名字, 字段填错一个才一直报错, 哈
      

  3.   

    首先应该把sql执行一遍  没问题再考虑php
      

  4.   

    相同的记录:
    $sql = "select name from Naming.component where name in(select name from testPLM.component)"
    不同的记录:
    $sql = "select name from Naming.component where name not in(select name from testPLM.component)"
    一次性添加:
    $sql = "INSERT INTO testPLM.version (name) (select name from Naming.component where name not in(select name from testPLM.component))"