title: PHP MySQL: Check if value already exists
body: <p>I've been surfing around stackoverflow and other pages for a while now and tried different approaches to this. But nothing seems to work.</p>
  
  <p>I have a code which collect the inputs from a form and posts it into a database. And that works. But before it posts, i want it to chek if the field "shortlink" already exist. And if it does, i want the user to be redirected to another page.</p>
  
  <p>This is the code i'm trying out right now. </p>
  
  <p>EDIT: Full PHP code</p>
  
  <pre><code>    class Db {
          // The database connection
          protected static $connection;
  
          /**
           * Connect to the database
           * 
           * @return bool false on failure / mysqli MySQLi object instance on success
           */
          public function connect() {    
              // Try and connect to the database
              if(!isset(self::$connection)) {
                  // Load configuration as an array. Use the actual location of your configuration file
                  $config = parse_ini_file('../config.ini'); 
                  self::$connection = new mysqli('localhost',$config['username'],$config['password'],$config['dbname']);
              }
  
              // If connection was not successful, handle the error
              if(self::$connection === false) {
                  // Handle error - notify administrator, log to a file, show an error screen, etc.
                  return false;
              }
              return self::$connection;
          }
  
          /**
           * Query the database
           *
           * @param $query The query string
           * @return mixed The result of the mysqli::query() function
           */
          public function query($query) {
              // Connect to the database
              $connection = $this -&gt; connect();
  
              // Query the database
              $result = $connection -&gt; query($query);
  
              return $result;
          }
  
          /**
           * Fetch rows from the database (SELECT query)
           *
           * @param $query The query string
           * @return bool False on failure / array Database rows on success
           */
          public function select($query) {
              $rows = array();
              $result = $this -&gt; query($query);
              if($result === false) {
                  return false;
              }
              while ($row = $result -&gt; fetch_assoc()) {
                  $rows[] = $row;
              }
              return $rows;
          }
  
          /**
           * Fetch the last error from the database
           * 
           * @return string Database error message
           */
          public function error() {
              $connection = $this -&gt; connect();
              return $connection -&gt; error;
          }
  
          /**
           * Quote and escape value for use in a database query
           *
           * @param string $value The value to be quoted and escaped
           * @return string The quoted and escaped string
           */
          public function quote($value) {
              $connection = $this -&gt; connect();
              return "'" . $connection -&gt; real_escape_string($value) . "'";
          }
      }
  
  
      if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  
      //Our database object
      $db = new Db();    
  
      // Quote and escape form submitted values
  
      $name = $db -&gt; quote($_POST["name"]);
      $shortlink = $db -&gt; quote($_POST["shortlink"]);
      $downloadurl = $db -&gt; quote($_POST["downloadurl"]);
      $count = $db -&gt; quote("0");
      $date = $db -&gt; quote(date("Y-m-d H:i:s"));
  
  $checkUserID = $db -&gt; select("SELECT shortlink FROM test WHERE `shortlink` = '$shortlink'");
  
  if ($checkUserID-&gt;rowCount()){
      header("Location: error.php?title=hovsa");
  }
  
  
      // Insert the values into the database
      $result = $db -&gt; query("INSERT INTO `test` (`name`,`shortlink`,`downloadurl`,`count`,`date`) VALUES (" . $name . "," . $shortlink . "," . $downloadurl . "," . $count . "," . $date . ")");
  
      //Upload image file
      if (isset($_POST['submit']))
      {
          $filename = $_FILES["file"]["name"];
          $file_basename = substr($filename, 0, strripos($filename, '.')); // get file extention
          $file_ext = substr($filename, strripos($filename, '.')); // get file name
          $filesize = $_FILES["file"]["size"];
          $allowed_file_types = array('.jpg','.jpeg');    
  
          if (in_array($file_ext,$allowed_file_types) &amp;&amp; ($filesize &lt; 20000000000))
          {   
              // Rename file
              $newfilename = $_POST['shortlink'] . $file_ext;
              if (file_exists("../gallery/" . $newfilename))
              {
                  // file already exists error
                  echo "You have already uploaded this file.";
              }
              else
              {       
                  move_uploaded_file($_FILES["file"]["tmp_name"], "../gallery/" . $newfilename);
                  echo "File uploaded successfully.";     
              }
          }
          elseif (empty($file_basename))
          {   
              // file selection error
              echo "Please select a file to upload.";
          } 
          elseif ($filesize &gt; 20000000000)
          {   
              // file size error
              echo "The file you are trying to upload is too large.";
          }
          else
          {
              // file type error
              echo "Only these file typs are allowed for upload: " . implode(', ',$allowed_file_types);
              unlink($_FILES["file"]["tmp_name"]);
          }
      }
      header("Location: #users");
      }
          else{}; 
  $checkUserID = $db -&gt; select("SELECT shortlink FROM test WHERE `shortlink` = '$shortlink'");
  
  if ($checkUserID == $shortlink) {
      header("Location: error.php?title=hovsa");
  }
  </code></pre>
  
  <p>It dosen't work. The form is postet into the database despite shortlink already exists.</p>