ivytony Posted January 25, 2008 Share Posted January 25, 2008 I'm kind of new to PHP and still on the learning curve. When I run the example in the book I read, I got blank page. Here's the form in search.html <form action="results.php" method = "post"> Choose search type:<br /> <select name="searchtype"> <option value="author">Author</option> <option value="title">Title</option> <option value="isbn">ISBN</option> </select> <br /> Enter Search Term: <br /> <input name="searchterm" type="text"> <br /> <input type="submit" value="Search"> </form> below is the php code in results.php: <?php //create short variable names $searchtype = $_POST['searchtype']; $searchterm = $_POST['searchterm']; $searchterm = trim($searcherm); if (!$searchtype || !$searchterm){ echo 'You have not entered search details.'; exit; } if (!get_magic_quotes_gpc()){ $searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm); } @ $db = new mysqli('localhost', 'root', 'root', 'books'); if (mysqli_connect_errno()){ echo 'Error: Could not connect to database. Please try again'; exit; } $query = "select * from books where ".$searchtype." like '%".$searchterm."%' "; $result = $db->query($query); $num_results = $result->num_rows; echo '<p>Number of books found: '.$num_results'</p>'; for ($i = 0; $i < $num_results; $i++) { $row = $result->fetch_assoc(); echo '<p><strong>'.($i+1).' . Title: '; echo htmlspecialchars(stripslashes($row['title'])); echo '</strong><br />Author: '; echo stripslashes($row['author']); echo '<br />ISBN: '; echo stripslashes($row['isbn']); echo '<br />Price: '; echo stripslashes($row['price']); echo '</p>'; } $result->free(); $db->close(); ?> however, when I click 'submit' button, I got blank page - no error, no results shown. I am wondering what is wrong with my code or my php environment? I've installed PHP 5.25 and MySQL 5 on my windows vista. I've also enabled the mysqli extenion in php.ini. Can someone help me figure out where is wrong? Thanks! Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/ Share on other sites More sharing options...
ivytony Posted January 25, 2008 Author Share Posted January 25, 2008 here is the database 'books': -- phpMyAdmin SQL Dump -- version 2.11.3 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Jan 24, 2008 at 11:22 PM -- Server version: 5.0.45 -- PHP Version: 5.2.5 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; -- -- Database: `books` -- -- -------------------------------------------------------- -- -- Table structure for table `books` -- CREATE TABLE IF NOT EXISTS `books` ( `isbn` char(13) NOT NULL, `author` char(50) default NULL, `title` char(100) default NULL, `price` float(4,2) default NULL, PRIMARY KEY (`isbn`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `books` -- INSERT INTO `books` (`isbn`, `author`, `title`, `price`) VALUES ('0-672-31509-2', 'Pruitt, et al.', 'Teach Yourself GIMP in 24 Hours', 24.99), ('0-672-31697-8', 'Michael Morgan', 'Java 2 for Professional Developers', 34.99), ('0-672-31745-1', 'Thomas Down', 'Installing Debian GNU/Linux', 24.99), ('0-672-31769-9', 'Thomas Schenk', 'Caldera OpenLinux System Administration Unleashed', 49.99); -- -------------------------------------------------------- -- -- Table structure for table `book_reviews` -- CREATE TABLE IF NOT EXISTS `book_reviews` ( `isbn` char(13) NOT NULL, `review` text, PRIMARY KEY (`isbn`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `book_reviews` -- INSERT INTO `book_reviews` (`isbn`, `review`) VALUES ('0-672-31697-8', 'Morgan''s book is clearly written and goes well beyond \r\n most of the basic Java books out there.'); -- -------------------------------------------------------- -- -- Table structure for table `customers` -- CREATE TABLE IF NOT EXISTS `customers` ( `customerid` int(10) unsigned NOT NULL auto_increment, `name` char(50) NOT NULL, `address` char(100) NOT NULL, `city` char(30) NOT NULL, PRIMARY KEY (`customerid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; -- -- Dumping data for table `customers` -- INSERT INTO `customers` (`customerid`, `name`, `address`, `city`) VALUES (1, 'Julie Smith', '25 Oak Street', 'Airport West'), (2, 'Alan Wong', '1/47 Haines Avenue', 'Box Hill'), (3, 'Michelle Arthur', '357 North Road', 'Yarraville'); -- -------------------------------------------------------- -- -- Table structure for table `orders` -- CREATE TABLE IF NOT EXISTS `orders` ( `orderid` int(10) unsigned NOT NULL auto_increment, `customerid` int(10) unsigned NOT NULL, `amount` float(6,2) default NULL, `date` date NOT NULL, PRIMARY KEY (`orderid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; -- -- Dumping data for table `orders` -- INSERT INTO `orders` (`orderid`, `customerid`, `amount`, `date`) VALUES (1, 3, 69.98, '2000-04-02'), (2, 1, 49.99, '2000-04-15'), (3, 2, 74.98, '2000-04-19'), (4, 3, 24.99, '2000-05-01'); -- -------------------------------------------------------- -- -- Table structure for table `order_items` -- CREATE TABLE IF NOT EXISTS `order_items` ( `orderid` int(10) unsigned NOT NULL, `isbn` char(13) NOT NULL, `quantity` tinyint(3) unsigned default NULL, PRIMARY KEY (`orderid`,`isbn`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `order_items` -- INSERT INTO `order_items` (`orderid`, `isbn`, `quantity`) VALUES (1, '0-672-31697-8', 2), (2, '0-672-31769-9', 1), (3, '0-672-31509-2', 1), (3, '0-672-31769-9', 1), (4, '0-672-31745-1', 3); Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448665 Share on other sites More sharing options...
ziv Posted January 25, 2008 Share Posted January 25, 2008 change your php.ini directives: display_errors = On error_reporting = E_ALL Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448667 Share on other sites More sharing options...
ivytony Posted January 25, 2008 Author Share Posted January 25, 2008 thanks for reply. I have changed my php.ini as suggested, but the problem persists. Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448675 Share on other sites More sharing options...
PFMaBiSmAd Posted January 25, 2008 Share Posted January 25, 2008 You must also stop and start your web server to get any changes made to php.ini to take effect. Blank php pages are usually caused by fatal parse or fatal runtime errors. For your posted code, there is the following error - Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in ...\your_file.php on line 24 Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448678 Share on other sites More sharing options...
rajivgonsalves Posted January 25, 2008 Share Posted January 25, 2008 this echo '<p>Number of books found: '.$num_results'</p>'; should be echo '<p>Number of books found: '.$num_results.'</p>'; Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448682 Share on other sites More sharing options...
ivytony Posted January 25, 2008 Author Share Posted January 25, 2008 Thank you! good catch! It now works! Quote Link to comment https://forums.phpfreaks.com/topic/87719-whats-wrong-my-code/#findComment-448921 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.