Results 1 to 3 of 3
  1. #1
    Join Date
    Nov 2009
    Posts
    6

    Unanswered: Warning: mysql_fetch_array():

    Hi Guys,

    I have written a search page in php. When i run it it shows an error as

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\Apache Group\Apache2\htdocs\Search_ex\sea.php on line 28

    My script is

    PHP Code:
    <?
    //This is only displayed if they have submitted the form
    if ($searching =="yes")
    {
    echo 
    "<h2>Results</h2><p>";

    //If they did not enter a search term we give them an error
    if ($find == "")
    {
    echo 
    "<p>You forgot to enter a search term";
    exit;
    }

    // Otherwise we connect to our Database
    $con=mysql_connect("localhost""root""abc456") or die(mysql_error());
    mysql_select_db("project",$con) or die(mysql_error());

    // We preform a bit of filtering
    $find strtoupper($find);
    $find strip_tags($find);
    $find trim ($find);

    //Now we search for our search term, in the field the user specified
      
    $data="SELECT FirstName, LastName, Email FROM Contacts WHERE  FirstName LIKE '%" $field "%' OR LastName LIKE '%" $field  ."%'";
    //$data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'");

    //And we display the results
    while($result=mysql_fetch_array($data))


    echo 
    $result['FirstName'];
    echo 
    " ";
    echo 
    $result['LastName'];
    echo 
    "<br>";
    echo 
    $result['Email'];
    echo 
    "<br>";
    echo 
    "<br>";



    //This counts the number or results - and if there wasn't any it gives them a little message explaining that
    $anymatches=mysql_num_rows($data);
    if (
    $anymatches == 0)
    {
    echo 
    "Sorry, but we can not find an entry to match your query<br><br>";
    }

    //And we remind them what they searched for
    echo "<b>Searched For:</b> " .$find;
    }
    ?>
    Can anyone help me on this.

    edit by loquin: added [code] [/code] tags for readability... Try it - you'll like it.
    edit by healdem: replaced [code] [/code] with [php] [/php] tags for even better readability when pasting php code... Try it - you'll like it.
    Last edited by healdem; 12-03-09 at 04:29. Reason: add [code] [/code] tags for readability... Try it - you'll like it.

  2. #2
    Join Date
    Nov 2004
    Location
    out on a limb
    Posts
    13,692
    Provided Answers: 59
    sounds like theres no data returned from the sql
    you should check the error code (mySQL_Error) and the number of rows returned before trying to use calues from the resultset

    look at the mysql_num_rows function
    PHP: mysql_num_rows - Manual
    I'd rather be riding on the Tiger 800 or the Norton

  3. #3
    Join Date
    Nov 2009
    Posts
    6
    Hi Healde,

    That works. Grate. Thanks 4 ur help.

Posting Permissions

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