reverendrazorback Posted January 11, 2009 Share Posted January 11, 2009 I am trying to create a search - drop down query from mysql database. Here is the code: <h2>Search</h2> <form name="search" method="post" action="<?=$PHP_SELF?>"> Seach for: <input type="text" name="find" /> in <Select NAME="field"> <Option VALUE="Book Title">Book Title</option> <Option VALUE="Author">Author</option> <Option VALUE="Category">Category</option> </Select> <input type="hidden" name="searching" value="yes" /> <input type="submit" name="search" value="Search" /> </form> <? //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("mysqlv3", "*****", "*****") or die(mysql_error()); mysql_select_db("library") 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 MasterList WHERE upper($field) LIKE'%$find%'"); //And we display the results while($result = mysql_fetch_array( $data )) { echo $result['Book Title']; echo " "; echo $result['Author']; echo "<br>"; echo $result['Category']; 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; } ?> However I keep getting both of these errors: Results Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data/17/1/80/83/1732572/user/1871020/htdocs/searchlibrary.php on line 94 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /data/17/1/80/83/1732572/user/1871020/htdocs/searchlibrary.php on line 106 Sorry, but we can not find an entry to match your query Searched For: THE Any and all help would be appreciated! Link to comment https://forums.phpfreaks.com/topic/140401-solved-need-help-keep-getting-mysql_fetch_array-not-a-valid-mysql-result-resource/ Share on other sites More sharing options...
gevans Posted January 11, 2009 Share Posted January 11, 2009 change $data = mysql_query("SELECT * FROM MasterList WHERE upper($field) LIKE'%$find%'"); to $data = mysql_query("SELECT * FROM MasterList WHERE upper($field) LIKE '%$find%'"); Link to comment https://forums.phpfreaks.com/topic/140401-solved-need-help-keep-getting-mysql_fetch_array-not-a-valid-mysql-result-resource/#findComment-734793 Share on other sites More sharing options...
reverendrazorback Posted January 11, 2009 Author Share Posted January 11, 2009 Good catch, I changed that. Now everything works except the book title search. Now to look at that portion. I am greatly in debt to you. Link to comment https://forums.phpfreaks.com/topic/140401-solved-need-help-keep-getting-mysql_fetch_array-not-a-valid-mysql-result-resource/#findComment-734812 Share on other sites More sharing options...
gevans Posted January 11, 2009 Share Posted January 11, 2009 Is it stored in you database as `Book Title`?? You shouldn't have spaces in your mysql field names Link to comment https://forums.phpfreaks.com/topic/140401-solved-need-help-keep-getting-mysql_fetch_array-not-a-valid-mysql-result-resource/#findComment-734814 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.