www.webdeveloper.com
Results 1 to 5 of 5

Thread: trying to exclude duplicate login names

  1. #1
    Join Date
    Dec 2013
    Posts
    10

    trying to exclude duplicate login names

    I am working on a school project that is a movie database, I want to reject input if the ID already exists in the database.

    My problem is that this code does not work, the mysql_num_rows($result) should be > 0 if the ID is already in the database, but it isn't being triggered.


    $query = "SELECT * from movie WHERE ID = $movieID";
    $result = mysql_query($query, $dbConn);

    if (mysql_num_rows($result) > 0) {
    echo "<p>That movie ID already exists. Please select another ID. </p>";
    $valid = false;
    }

  2. #2
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,334
    You should be using $dbConn as the argument to mysql_num_rows(), not $result. This probably should have raised an error, so you might want to ramp up the error reporting while developing/testing, e.g.:
    PHP Code:
    <?php
    ini_set
    ('display_errors'true);
    error_reporting(E_ALL);
    Ideally, you should also be using either the MySQLi or PDO database extensions, instead of the now deprecated MySQL extension.
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  3. #3
    Join Date
    Jul 2013
    Location
    Voorheesville NY USA
    Posts
    724
    Before checking num rows (which I believe you are doing correctly) you should REALLY check the result of the query action itself. Always follow a query call with a check of the value of the var that you assigned the query to

    PHP Code:
    $query "SELECT * from movie WHERE ID = $movieID";
    $result mysql_query($query$dbConn);
    if (!
    $result)
    {
         (
    show an error message)
    }
    // NOW check for num rows (correct per the php manual)
     
    if (mysql_num_rows($result) > 0
    {
        echo 
    "<p>That movie ID already exists. Please select another ID. </p>";
        
    $valid false;
     } 

  4. #4
    Join Date
    Mar 2014
    Posts
    7
    Just to add to ginerjm's contribution, where he/she has "(show error message)", you might choose:

    echo mysql_error();

  5. #5
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,334
    Quote Originally Posted by ginerjm View Post
    Before checking num rows (which I believe you are doing correctly) ...
    My bad...I think I was confusing it with mysql_insert_id(). (At least that's my story, and I'm sticking with it, since I've been using PDO pretty much exclusively for the last couple of years. )
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles