PHP/mySQL results not being displayed -


i keep getting warning on server after trying search says:

warning: mysql_fetch_array() expects parameter 1 resource, boolean given inform/search.php on line 19

heres code, don't quite understand why not displaying result. appreciated.

<?php   if(isset($_post['submit'])){   if(isset($_get['go'])){   if(preg_match("/^[  a-za-z]+/", $_post['postcode'])){   $postcode=$_post['postcode'];   //connect  database   } $con = mysql_connect('*****','*****','*****'); //connect database if (!$con) //if cannot connect database, terminate process { die('could not connect: ' . mysql_error()); }   $mydb=mysql_select_db("dataproj");   //-query  database table   $sql="select  * companies postcode '%" . $postcode ."%'";   //-run  query against mysql query function   $result=mysql_query($sql);   //-create  while loop , loop through result set   while($row=mysql_fetch_array($result)){           $postcode =$row['postcode'];           $cname=$row['cname'];   //-display result of array   echo "<ul>\n";   echo "<li>" . $postcode . " " . $cname .  "</a></li>\n";   echo "</ul>";   }   }   else{   echo  "<p>please enter search query</p>";   }   } ?> 

firstly don't use mysql api deprecated use pdo or mysqli.

secondly check $result before passing mysql_fetch_array. you'll find it's false because query failed. see mysql_query documentation possible return values , suggestions how deal them.

<?php  if (isset($_post['submit'])) {     if (isset($_get['go'])) {         if (preg_match("/^[  a-za-z]+/", $_post['postcode'])) {             $postcode = $_post['postcode'];             //connect  database         }         $con = mysql_connect('*****', '*****', '*****'); //connect database         if (!$con) { //if cannot connect database, terminate process             die('could not connect: ' . mysql_error());         }         $mydb = mysql_select_db("dataproj");         //-query  database table         $sql = "select  * companies postcode '%" . $postcode . "%'";         //-run  query against mysql query function         $result = mysql_query($sql);         //check here         if ($result === false) {             die(mysql_error()); // todo: better error handling         }         //-create  while loop , loop through result set         while ($row = mysql_fetch_array($result)) {             $postcode = $row['postcode'];             $cname = $row['cname'];             //-display result of array             echo "<ul>\n";             echo "<li>" . $postcode . " " . $cname . "</a></li>\n";             echo "</ul>";         }     } else {         echo "<p>please enter search query</p>";     } } ?> 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -