2017-03-28 6 views
0

で別のものに更新します。エラーが、私は取得が ある どのように私はそれを達成することができます非オブジェクト のプロパティを取得しようとしています任意の解決策はありますか?1つのデータベースから選択して、データベースの値を選択して、同じIDを持つ別のデータベースに更新一致する行

$servername = "localhost"; 
    $username = "root"; 
    $password = "pass"; 
    $dbname = "db1"; 
    $dbname2="db2"; 


    $conn = new mysqli($servername, $username, $password, $dbname); 

    if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); 
    } 


    $conn2 = new mysqli($servername, $username, $password, $dbname2); 

    if ($conn2->connect_error) { 
die("Connection failed: " . $conn2->connect_error); 
    } 

    $sql = "SELECT * FROM affiliates"; 
    $result = $conn->query($sql); 

    if ($result->num_rows > 0) { 
    //output data of each row 

     while($row = $result->fetch_assoc()) { 
      echo "from db1 id: " . $row["id"]. "publish " .$row["publishinsuppliercontants"]. "<br>"; 

     $sql2 = "UPDATE a1_affilates_cstm SET publish_in_supplier_contacts_c=".$row["publishinsuppliercontants"]." WHERE id_c=".$row["id"].""; 
    $result2 = $conn2->query($sql2); 

    $sql2 = "SELECT * FROM a1_affilates_cstm WHERE id_c = ". $row["id"].""; 

    $result2=mysqli_query($conn2,$sql2) or die mysqli_error($conn2); 
    $row1 = mysqli_fetch_array($result2); 
    ///check whether inserted ... 
      echo "from db2 id: " . $row1["id_c"]. " - publish: ".row1["publish_in_supplier_contacts_c"]. " <br>"; 

     } 
    } else { 
     echo "0 results"; 
    } 
+0

これは、オブジェクトを取得しようとしているのに、 '$ result-> fetch_assoc()'のように利用できない場所を意味します。 – webDev

答えて

0

結果オブジェクトを取得していないようです。 SELECTクエリは正常に終了しましたか?

結果オブジェクトを操作する前に、select query state/resultをチェックする必要があります。あなたのケースでは例えば

PHP mysqli manualから

$sql = "SELECT * FROM affiliates"; 
if ($result = $conn->query($sql)) { 
    if ($result->num_rows > 0) { 
    ... some logic ... 

:。

」失敗した場合にFALSEを返します成功したSELECT、SHOWの場合は、クエリのmysqli_queryを(DESCRIBEやEXPLAIN)がmysqli_resultオブジェクトを返しますについて。他の成功したクエリmysqli_query()はTRUEを返します。 "

関連する問題