frshjb373 Posted January 10, 2013 Share Posted January 10, 2013 I'm trying to query a database where some of the values in the record have an ampersand (AT&T) and I get no results. However, if I change the records to "ATT" it works just fine. How do I get the ampersand to query correctly? Any help is much appreciated. Thank you! Quote Link to comment Share on other sites More sharing options...
requinix Posted January 10, 2013 Share Posted January 10, 2013 Post code. Quote Link to comment Share on other sites More sharing options...
xenophobia Posted January 10, 2013 Share Posted January 10, 2013 If you are outputing the value from database to your HTML document, use htmlentities(). $result = mysql_fetch_row($qry); echo htmlentities($result['col_name']); =) Quote Link to comment Share on other sites More sharing options...
frshjb373 Posted January 10, 2013 Author Share Posted January 10, 2013 After looking at it more, I think it's a Javascript issue. Here's the Javascript and PHP... Javascript: function reload(form) { var val=form.cat.options[form.cat.options.selectedIndex].value; self.location='sell-iphone.php?cat=' + val ; } PHP: <?php @$cat=$_GET['cat']; // Use this line or below line if register_global is off if(strlen($cat) < 0){ // to check if $cat is numeric data or not. echo "Data Error"; exit; } ?> Quote Link to comment Share on other sites More sharing options...
requinix Posted January 10, 2013 Share Posted January 10, 2013 Yep, that would be it. Imagine what the URL looks like: sell-iphone.php?cat=AT&T so $_GET["cat"] = "AT" and $_GET["T"] = something. Does the form have more than the "cat"? If not then just make the form action=sell-iphone.php and method=get then you can <select ... onchange="this.form.submit();"> Otherwise encodeURIComponent can escape the val and make it safe for the URL. 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.