Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    Join Date
    Jun 2006
    Posts
    20
    Thanks
    0
    Thanked 0 Times in 0 Posts

    PHP Search Engine

    Im having trouble with a search script, I get an error when I try to search for something. The error is

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\websites\sdeinterfacenet91\sde.interface-net.com\sde\jherbert\test\searchone.php on line 30

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\websites\sdeinterfacenet91\sde.interface-net.com\sde\jherbert\test\searchone.php on line 42
    Sorry, but we can not find an entry to match your query

    Here is the script

    <?
    //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
    mysql_connect("mysql.yourhost.com", "user_name", "password") or die(mysql_error());
    mysql_select_db("database_name") 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 = mysql_query("SELECT * FROM users WHERE upper($field) LIKE'%$find%'");

    //And we display the results
    LINE 30.while($result = mysql_fetch_array( $data ))
    {
    echo $result['fname'];
    echo " ";
    echo $result['lname'];
    echo "<br>";
    echo $result['info'];
    echo "<br>";
    echo "<br>";
    }

    //This counts the number or results - and if there wasn't any it gives them a little message explaining that
    LINE 42.$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 someone tell me how to fix those errors.

    NOTE:I did not put the host,user name,password and database name in the code in this post for obvious reasons.

  • #2
    New Coder
    Join Date
    Jun 2006
    Posts
    62
    Thanks
    0
    Thanked 0 Times in 0 Posts
    don't have much time, but I already see one mistake, change if ($find == "") to elseif ($find == "")

  • #3
    $object->toCD-R(LP); vinyl-junkie's Avatar
    Join Date
    Jun 2003
    Posts
    3,088
    Thanks
    2
    Thanked 23 Times in 23 Posts
    It looks like the problem may be because you don't have a space after the word LIKE.

    Code:
    $data = mysql_query("SELECT * FROM users WHERE upper($field) LIKE '%$find%'");
    Music Around The World - Collecting tips, trade
    and want lists, album reviews, & more
    SNAP to it!


  •  

    Posting Permissions

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