title: PHP MYSQL UPDATE if Exist or INSERT if not?
body: <p>I have no idea if this is even remotely correct. I have a class where I would like to update the database if the fields currently exist or insert if they do not. The complication is that I am doing a joining 3 tables (set_colors, school_art, baseimage)  </p>
  
  <p>Any help would be really great.</p>
  
  <p>Here is what I have: </p>
  
  <pre><code>public function set_layer_colors($value) {
      global $db;
  
      $result_array = mysql_query("
      IF EXISTS(SELECT * FROM set_colors WHERE school_art_id = '{$value}')
  
        UPDATE set_colors (school_art_id, baseimage_id, sub_folder, layer)
          SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
          FROM school_art 
          JOIN baseimage ON baseimage.base_folder = school_art.series_code 
          WHERE baseimage.image_type = 'B' ORDER BY school_art.id 
  
      ELSE
  
       INSERT INTO set_colors (school_art_id, baseimage_id, sub_folder, layer)
          SELECT school_art.id, baseimage.id, baseimage.sub_folder, baseimage.layer
          FROM school_art 
          JOIN baseimage ON baseimage.base_folder = school_art.series_code 
          WHERE baseimage.image_type = 'B' ORDER BY school_art.id 
          ");
  
      return $result_array;
  }
  </code></pre>