2016-06-15 8 views
1

2番目のテーブルに新しい挿入IDがない場合は、テーブル1にデータを挿入してから2番目のテーブルに挿入しようとしています。ベローは私のコードです。私が間違っていることを教えてください。MySQL最初のテーブルに挿入して2番目のテーブルに更新します

<?php 
    $name='Name'; 
    $pass='Passsword'; 
    $rid='FR200000'; 


    $sql = "INSERT INTO table_1 (id,name,pass) VALUES('".$rid."','".$name."','".$pass."')"; 
    $res = mysql_query($sql); 
    if(!$res){ 
     echo'Failed to insert'; 

    }else{ 
     $sql = "SELECT id FROM site_settings WHERE id = '".$rid."'"; 
     $res = mysql_query($sql); 
     $get_id = mysql_fetch_assoc($res); 

     if (!$get_id==$rid){ 
      $site_url = 'www.example.com'; 
      $site_email ='[email protected]'; 

      $sql = "INSERT INTO site_settings (id,site_url,site_email) VALUES('".$rid."','".$site_url."','".$site_email."')"; 
      $res = mysql_query($sql); 
       if(!$res) return 1; 
      return 99; 
      } 
     if ($get_id==$rid){ 

      $sql = "UPDATE site_settings SET site_url = '" . $site_url . "', site_email = '" . $site_email . "' WHERE ID = '".$rid."'";  
      $res = mysql_query($sql); 
       if(!$res) return 1; 
      return 99; 
      } 
     ?> 
+0

あなたがフェッチされていないがmysqliのOR PDOを使用する代わりに廃止されましたデータフォームの選択クエリ!!データフォームの選択クエリを取得し、 'if(!$ get_id == $ rid){' – Saty

+0

@Satyを使用する必要があります。上記の質問を更新しましたかどうか確認してください。 – Firefog

答えて

2

mysql_query()

SELECTは、SHOW、DESCRIBEの場合は、返却EXPLAINやその他の文 結果セットは

$sql = "SELECT id FROM site_settings WHERE id = '".$rid."'"; 
     $get_id = mysql_query($sql); 

あなたは直接$rid

で結果セットは比較にならないだろう
if (!$get_id==$rid){ 

あなたが次に

if (!$get_id==$rid){ 
// YOUR code 

NOTEを比較

$row = mysql_fetch_assoc($res); 
$get_id=$row['id'];// fetch data 

最初のデータをフェッチする必要があります: - mysqlは

+0

ありがとうございます。mysqliでこのクエリがどのように表示されますか? – Firefog

+0

http://php.net/manual/en/book.mysqli.php – Saty

関連する問題