PHP database selection issue
        Posted  
        
            by 
                Citroenfris
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Citroenfris
        
        
        
        Published on 2011-11-30T01:48:10Z
        Indexed on 
            2011/11/30
            1:50 UTC
        
        
        Read the original article
        Hit count: 292
        
php
|database-connection
I'm in a bit of a pickle with freshening up my PHP a bit, it's been about 3 years since I last coded in PHP. Any insights are welcomed! I'll give you as much information as I possibly can to resolve this error so here goes!
Files
- config.php
 - database.php
 - news.php
 - BLnews.php
 - index.php
 
Includes
- config.php -> news.php
 - database.php -> news.php
 - news.php -> BLnews.php
 - BLnews.php -> index.php
 
Now the problem with my current code is that the database connection is being made but my database refuses to be selected. The query I have should work but due to my database not getting selected it's kind of annoying to get any data exchange going!
database.php
    <?php
class Database {
    //-------------------------------------------
    //    Connects to the database
    //-------------------------------------------
    function connect() {
        if (isset($dbhost) && isset($dbuser) && isset($dbpass)) {
            $con = mysql_connect($dbhost, $dbuser, $dbpass) or die("Could not connect: " . mysql_error());
        }
    }// end function connect
    function selectDB() {
        if (isset($dbname) && isset($con)) {
            $selected_db = mysql_select_db($dbname, $con) or die("Could not select test DB");
        }
    }
} // end class Database
?>
News.php
<?php
// include the config file and database class
include 'config.php';
include 'database.php';
...
?>
BLnews.php
<?php
// include the news class
include 'news.php';
// create an instance of the Database class and call it $db
$db = new Database;
$db -> connect();
$db->selectDB();
class BLnews {
    function getNews() {
        $sql = "SELECT * FROM news";
        if (isset($sql)) {
            $result = mysql_query($sql) or die("Could not execute query. Reason: " .mysql_error());
        }
        return $result;
    }
?>
index.php
<?php
...
include 'includes/BLnews.php';
$blNews = new BLnews();
$news = $blNews->getNews();
?>
...
<?php 
        while($row = mysql_fetch_array($news))
        {
        echo '<div class="post">';
        echo '<h2><a href="#"> ' . $row["title"] .'</a></h2>';
        echo '<p class="post-info">Posted by <a href="#"> </a> | <span class="date"> Posted on <a href="#">' . $row["date"] . '</a></span></p>';
        echo $row["content"];
        echo '</div>';
        }
        ?>
Well this is pretty much everything that should get the information going however due to the mysql_error in $result = mysql_query($sql) or die("Could not execute query. Reason: " .mysql_error()); I can see the error and it says: 
Could not execute query. Reason: No database selected
I honestly have no idea why it would not work and I've been fiddling with it for quite some time now. Help is most welcomed and I thank you in advance!
Greets
Lemon
© Stack Overflow or respective owner