www.webdeveloper.com
Results 1 to 5 of 5

Thread: Mysql_fetch_array problem

  1. #1
    Join Date
    Dec 2011
    Posts
    39

    Mysql_fetch_array problem

    Sir, I am using these codes

    PHP Code:
    <?php 
    if(isset($_POST['login'])){ 
        require_once(
    "connect.php"); 
        
    session_start(); 
    // username and password sent from Form  
    $myusername=addslashes($_POST['username']);  
    $mypassword=addslashes($_POST['password']);  
    if(empty(
    $myusername) || empty($mypassword)) 

    echo 
    '<script>alert("User name and password must not be empty")</script>'
    }else{ 
    $query="SELECT name FROM admin WHERE mobile='".$myusername."' and password='".$mypassword"'";  
    $result=mysql_query($query); 
    if(!
    $result)  
     { 
     echo 
    "<script>alert('username, password query is not working well')</script>" ;   
     }else{ 
     echo 
    "<script>alert('username, password query is working well')</script>" ;   
     } 
    $row=mysql_fetch_array($result); 
    $count=mysql_num_rows($row); 
    if(
    $count==1

    session_register("myusername"); 
    $_SESSION['myusername']=$myusername
    header("location: welcome.php"); 
    }else { 
    $error="Your Login Name or Password is invalid"



    ?>
    It is showing these two error messages as

    ( ! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Phonebook\login.php on line 22
    ( ! ) Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\wamp\www\Phonebook\login.php on line 23

    Line=22
    $row=mysql_fetch_array($result);

    Line=23
    $count=mysql_num_rows($row);

    Please help me to locate what I am doing wrong?

  2. #2
    Join Date
    May 2004
    Location
    chennai, tamil nadu, India
    Posts
    445
    It is good practice to escape column name with `

    $query="SELECT `name` FROM `admin` WHERE `mobile`='".$myusername."' and `password`='".$mypassword. "'";
    Chris, Senior Developer,
    Php laravel developers,
    www.chrisranjana.com

  3. #3
    Join Date
    May 2013
    Location
    London, UK
    Posts
    16
    Those errors are being generated because the query itself is returning false, therefore $row is becoming NULL.

    The query is: "SELECT name FROM admin WHERE mobile='".$myusername."' and password='".$mypassword. "'"

    How has your "admin" table been structured in the database? Do you definately have the columns: name, mobile and password?

  4. #4
    Join Date
    Mar 2011
    Posts
    1,139
    First of all, this:
    Code:
    $count=mysql_num_rows($row);
    should be:
    Code:
    $count=mysql_num_rows($result);
    And it's best to call mysql_num_rows() to make sure there are results before trying mysql_fetch_array().

    But it's not clear why your call to mysql_fetch_array() is failing. You might change it to:
    Code:
    $result = mysql_query($query) or die(mysql_error());
    to make sure you don't have a syntax error in your SQL.
    Rick Trethewey
    Rainbo Design

  5. #5
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,330
    I often find it useful to include the query in the debug output, too.
    PHP Code:
    $result mysql_query($query) or die(mysql_error()."\n$query"); 
    Of course, you don't want that sort of thing in the live site, so you'll want to make a more "graceful" error-handler before you go to production.
    "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