Dysan Posted February 28, 2008 Share Posted February 28, 2008 Hi, Why doesn't the following code work? If you enter valid keywords inside the form, nothing gets returned. Why is this? if(isset($_GET['keyword'])) { $keyword = mysql_real_escape_string($_POST['keyword']); $result = mysql_query("SELECT * FROM music WHERE artist LIKE '%$keyword%'"); if(mysql_num_rows($result)) { while($row = mysql_fetch_array($result)) { echo "Keyword Search"; } } } <form name="form1" method="post" action="search.php"> <input name="keyword" type="text" id="keyword"> <input type="submit" name="Submit" value="Submit"> </form> Quote Link to comment Share on other sites More sharing options...
PHP Monkeh Posted February 28, 2008 Share Posted February 28, 2008 if(isset($_GET['keyword'])) and method="post" is why it won't work Turn the first line to if(isset($_POST['keyword'])) Quote Link to comment Share on other sites More sharing options...
fnairb Posted February 28, 2008 Share Posted February 28, 2008 Alternately you could use $_REQUEST['keyword'] which will have it regardless of post/get. Quote Link to comment Share on other sites More sharing options...
fnairb Posted February 28, 2008 Share Posted February 28, 2008 One more thing.... '%u2%' is not the same as '%U2%' You might want to consider converting the keyword and artist to all lower case for the comparison. SELECT * FROM music WHERE LOWER(artist) LIKE LOWER('%$keyword%') Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.