How to check in mysql if records have already been updated?

Discussion in 'PHP' started by mark103, Apr 30, 2012.

  1. #1
    Hi guys,

    I need your help. I am checking on a database as I want to see if the records have already been existed in the database.

    <?php
    session_start();
        define('DB_HOST', 'localhost');
        define('DB_USER', 'mydbuser');
        define('DB_PASSWORD', 'mydbpass');
        define('DB_DATABASE', 'mydbtable');
           
        $errmsg_arr = array();
        $errflag = false;
    
        $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
        if(!$link) {
      die('Failed to connect to server: ' . mysql_error());
        }
    
        $db = mysql_select_db(DB_DATABASE);
        if(!$db) {
      die("Unable to select database");
        }
    
       function clean($var){
    
    return mysql_real_escape_string(strip_tags($var));
        }
      
        $username = clean($_GET['user']);
        $password = clean($_GET['pass']);
        $test = clean($_GET['test']);
        $public = clean($_GET['public']);
       
       
       if (isset($_GET['user']) && (isset($_GET['pass']))) {
        if($username == '' || $password == '') {
      $errmsg_arr[] = 'username or password are missing';
      $errflag = true;
        }
    } elseif (isset($_GET['user']) || (isset($_GET['test'])) || (isset($_GET['public']))) {
        if($username == '' || $test == '' || $public == '') {
      $errmsg_arr[] = 'user or others are missing';
      $errflag = true;
        }
      }
    
        if($errflag) {
      $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
      echo implode('<br />',$errmsg_arr);
       }
       else {
      $qry="SELECT * FROM members WHERE username='$username' AND passwd='$password'";
      $result=mysql_query($qry) or die('Error:<br />' . $qry . '<br />' . mysql_error());
    
    
    if ($username && $password) {
      if(mysql_num_rows($result) > 0) {
         $qrytable1="SELECT images, id, test, links, Public FROM user_channel_list WHERE username='$username'";
        $result1=mysql_query($qrytable1) or die('Error:<br />' . $qry . '<br />' . mysql_error());
    
        while ($row = mysql_fetch_array($result1)) {
            echo "<p id='test'>";
            echo $row['test'] . "</p>";
            echo '<p id="images"> <a href="images.php?test=test&id='.$row['id'].'">Images</a></td> | <a href="http://' .  $row["links"] . '">Link</a> </td> | <a href="delete.php?test=test&id='.$row['id'].'">Delete</a> </td> | <span id="test">'.$row['Public'].'</td>';
         }
       } else {
        echo "user not found";
      }
    } elseif($username && $test && $public) {
        $qry="SELECT * FROM members WHERE username='$username'";
        $result1=mysql_query($qry) or die('Error:<br />' . $qry . '<br />' . mysql_error());
        
        if(mysql_num_rows($result1) > 0) {     
          $qrytable1="SELECT Public FROM user_channel_list WHERE username='$username' && test='$test'";
          $result2=mysql_query($qrytable1) or die('Error:<br />' . $qry . '<br />' . mysql_error());
          
          if(mysql_num_rows($result2) > 0) {
            $row = mysql_fetch_row($result2);
            mysql_query("UPDATE user_list SET Public=('$_GET[public]') WHERE username='$username' AND test='$test'");
            echo "update!";
          } else {
            echo "already updated!";
          }
        } else {
          echo "user not found";
        }
      }
    } 
    ?>
    Code (markup):

    When I run debug on my php, if i input the data in a url bar while the records are the same as the data that I enter in the url, i should get the print out on my php "already updated", but I keep getting "update!".

    Do you know how i can check the records from the url to go through on mysql database to see if the records have already been updated??


    Any advice would be much appreicated.

    Thanks,
    Mark
     
    mark103, Apr 30, 2012 IP
  2. PHPlancer

    PHPlancer Peon

    Messages:
    10
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    
     $qrytable1="SELECT Public FROM user_channel_list WHERE username='$username' && test='$test'";
      mysql_query("UPDATE user_list SET Public=('$_GET[public]') WHERE username='$username' AND test='$test'");
    
    PHP:
    The queries are not executed on same table.
     
    PHPlancer, Apr 30, 2012 IP
  3. infotripro

    infotripro Member

    Messages:
    26
    Likes Received:
    2
    Best Answers:
    1
    Trophy Points:
    43
    #3
    mysql_affected_rows will solve the issue
     
    infotripro, May 1, 2012 IP