phpnewbie1989 Posted October 5, 2006 Share Posted October 5, 2006 Hey, I am trying to build a search area for people to come in and search a database with two keywords. I am getting this error though:Parse error: syntax error, unexpected ';' in /home2/freedh/public_html/search.php on line 36CODING:// This could be supplied by a user, for example// Formulate Query// This is the best way to perform a SQL query// For more examples, see mysql_real_escape_string()$query = sprintf("SELECT HUB, ARRIVAL, ETE, DISTANCE, MINIMUM_PAX, MAXIMUM_PAX, ROUTE, FLIGHT_# FROM routes WHERE HUB='%s' AND ARRIVAL='%s'",// Perform Query$result = mysql_query($query);// Check result// This shows the actual query sent to MySQL, and the error. Useful for debugging.if (!$result) { $message = 'Invalid query: ' . mysql_error() . "\n"; $message .= 'Whole query: ' . $query; die($message);}// Use result// Attempting to print $result won't allow access to information in the resource// One of the mysql result functions must be used// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.while ($row = mysql_fetch_assoc($result)) { echo $row['HUB']; echo $row['ARRIVAL']; echo $row['ETE']; echo $row['DISTANCE']; echo $row['MINIMUM_PAX']; echo $row['MAXIMUM_PAX']; echo $row['ROUTE']; echo $row['FLIGHT_#'];}// Free the resources associated with the result set// This is done automatically at the end of the scriptmysql_free_result($result);?> Quote Link to comment Share on other sites More sharing options...
tomfmason Posted October 5, 2006 Share Posted October 5, 2006 This [code=php:0]$query = sprintf("SELECT HUB, ARRIVAL, ETE, DISTANCE, MINIMUM_PAX, MAXIMUM_PAX, ROUTE, FLIGHT_# FROM routes WHERE HUB='%s' AND ARRIVAL='%s'",[/code]Should be [code=php:0]$query = sprintf("SELECT HUB, ARRIVAL, ETE, DISTANCE, MINIMUM_PAX, MAXIMUM_PAX, ROUTE, FLIGHT_# FROM routes WHERE HUB='%s' AND ARRIVAL='%s'");[/code]You forgot the );Also when posting code you should use the following bbcodesFor code with the <?php and ?> [nobbc][code][/code][/nobbc]example[nobbc][code]<?phpecho "something";?>[/code][/nobbc]Will look like this[code]<?phpecho "something";?>[/code]No for code with out the tags use [nobbc][php][/php][/nobbc]like this[nobbc][code=php:0]echo "something";[/code][/nobbc]Will look like this[code=php:0]echo "something";[/code]Hope that helps,Tom Quote Link to comment Share on other sites More sharing options...
phpnewbie1989 Posted October 5, 2006 Author Share Posted October 5, 2006 Thank you for the tip I really appreciate it. I just have one more question and I promise I wont ask anymore stupid things. How can I get a form to work with the php. I need to make it so that the people can insert the actual query words or keywords. I would really appreciate this last bit of help. Quote Link to comment Share on other sites More sharing options...
markbett Posted October 5, 2006 Share Posted October 5, 2006 you need to clarify your question... forms work in php th same way they work in other languages... your form action calls teh script that process teh form form elements are variables etc... Quote Link to comment Share on other sites More sharing options...
phpnewbie1989 Posted October 5, 2006 Author Share Posted October 5, 2006 Okay lets see if I can do this :)I am trying to build the form, but in the coding I dont know how to specify that the two fields in the form are my search keywords for the SQL database data. How do I designate the two form fields as my search criteria? Quote Link to comment Share on other sites More sharing options...
markbett Posted October 5, 2006 Share Posted October 5, 2006 you name the form elements whatever you like (term1 term2)then when you process the form you get your $_POST['term1'] clean it for sql injections then set it to a variable$_post['term1']=$term1 etc etcthen you can use them in your querysql=("SELECT * FROM blue WHERE something=".$term1." OR ".#term2") blah blah Quote Link to comment Share on other sites More sharing options...
phpnewbie1989 Posted October 5, 2006 Author Share Posted October 5, 2006 Thank you very much for the Help. I really appreciate this. Quote Link to comment Share on other sites More sharing options...
phpnewbie1989 Posted October 5, 2006 Author Share Posted October 5, 2006 IM again sorry to bother, I have not had much luck at following those steps. It tells me there was an unexpected ='s where I put the SQL= line. Quote Link to comment Share on other sites More sharing options...
JasonLewis Posted October 5, 2006 Share Posted October 5, 2006 put the row you are trying to match in `` like so and the variables in '':sql=("SELECT * FROM `blue` WHERE `something`='".$term1."'");not all ppl do this but you should start doing it. 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.