MNSarahG Posted April 17, 2008 Share Posted April 17, 2008 Hi, I'm trying to run a search of table in my database. I have a page with this form: <form name="form" action="results.php" method="get"> <input type="text" name="q" /> <input type="submit" name="Submit" value="Search!" /> </form> That then uses this code to execute a search: <?php // Get the search variable from URL $var = @$_GET['q'] ; $trimmed = trim($var); //trim whitespace from the stored variable // rows to return $limit=10; // check for an empty string and display a message. if ($trimmed == "") { echo "<p>Please enter a search...</p>"; exit; } // check for a search parameter if (!isset($var)) { echo "<p>We dont seem to have a search parameter!</p>"; exit; } mysqli_connect("localhost","meetings","m33tings123"); mysqli_select_db("meetingsEventLocation") or die("Unable to select database"); // Build SQL Query $query = "select * from listings where name like \"%$trimmed%\" order by name"; $numresults=mysqli_query($query); $numrows=mysqli_num_rows($numresults); // If we have no results, offer a google search as an alternative if ($numrows == 0) { echo "<h4>Results</h4>"; echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>"; // google echo "<p><a href=\"http://www.google.com/search?q=" . $trimmed . "\" target=\"_blank\" title=\"Look up " . $trimmed . " on Google\">Click here</a> to try the search on google</p>"; } // next determine if s has been passed to script, if not use 0 if (empty($s)) { $s=0; } // get results $query .= " limit $s,$limit"; $result = mysqli_query($query) or die("Couldn't execute query"); // display what the person searched for echo "<p>You searched for: "" . $var . ""</p>"; // begin to show results set echo "Results"; $count = 1 + $s ; // now you can display the results returned while ($row= mysqli_fetch_array($result)) { $title = $row["1st_field"]; echo "$count.) $title" ; $count++ ; } $currPage = (($s/$limit) + 1); //break before paging echo "<br />"; // next we need to do the links to other results if ($s>=1) { // bypass PREV link if s is 0 $prevs=($s-$limit); print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><< Prev 10</a>  "; } // calculate number of pages needing links $pages=intval($numrows/$limit); // $pages now contains int of pages needed unless there is a remainder from division if ($numrows%$limit) { // has remainder so add one page $pages++; } // check to see if last page if (!((($s+$limit)/$limit)==$pages) && $pages!=1) { // not last page so give NEXT link $news=$s+$limit; echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>"; } $a = $s + ($limit) ; if ($a > $numrows) { $a = $numrows ; } $b = $s + 1 ; echo "<p>Showing results $b to $a of $numrows</p>"; ?> As of now, my error is "Unable to select database." I have triple checked my username, PW, database name, location, and all that, so I think it's coming from my attempt to change this code to work with MySQLi. Does anyone have any ideas? Thanks, Sarah Link to comment https://forums.phpfreaks.com/topic/101616-mysqli-search-a-database-field/ Share on other sites More sharing options...
GingerRobot Posted April 17, 2008 Share Posted April 17, 2008 Echo the error that mysql gives: mysqli_select_db("meetingsEventLocation") or die("Unable to select database<br />".mysqli_error()); Link to comment https://forums.phpfreaks.com/topic/101616-mysqli-search-a-database-field/#findComment-519894 Share on other sites More sharing options...
MNSarahG Posted April 17, 2008 Author Share Posted April 17, 2008 Hey, I pasted that code into the file and it still just comes back with "Unable to Select Database" (no extra info). - Sarah - Link to comment https://forums.phpfreaks.com/topic/101616-mysqli-search-a-database-field/#findComment-519906 Share on other sites More sharing options...
GingerRobot Posted April 17, 2008 Share Posted April 17, 2008 Looks like you need the mysqli_connect_error() function rather than mysqli_error(). Try that and see what it says. Link to comment https://forums.phpfreaks.com/topic/101616-mysqli-search-a-database-field/#findComment-519909 Share on other sites More sharing options...
MNSarahG Posted April 17, 2008 Author Share Posted April 17, 2008 This (like all of these problems) is blowing my mind. I changed my connect statement to this: mysqli_connect("localhost","meetings","m33tings123","meetingsEventLocation") or die("<strong>Couldn't connect to database</strong>".mysqli_connect_error()); And now it seems to connect to the DB okay. Now my error is "Couldn't execute query." Not sure why. Thanks again for any advice! Link to comment https://forums.phpfreaks.com/topic/101616-mysqli-search-a-database-field/#findComment-519920 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.