This sounds really easy to fix but I've been working on it for awhile.
Database Error: Unable to connect to the database:Could not connect to MySQL
I had to make a local copy of Joomla for backup and changes so I didn't mess up the live site.
I grabbed all the files off the live site via FTP. Did a DB dump. Put the DB on my local machine, copied the Joomla files to a subfolder of my server root. Changed config variables to fit the current setup of PHP, Mysql, Apache.
Now I put in a test.php which connected and que开发者_开发问答ried the DB fine.
$db = mysql_connect("localhost","root","sunshine") or die ('Unable to connect to Database!');
mysql_select_db("iweb");
$query = "SELECT * FROM jos_content LIMIT 0 , 30";
$results = mysql_query($query);
while($row = mysql_fetch_assoc($results)){
echo '<br>'.$row['title'];
}
however when I put the same DB credentials into the configuration.php it gives the the aforementioned error.
I have been looking at the .htaccess and haven't found anything.
Anyone have an idea of what is going on here?
Joomla 1.5.4, Apache 2.2.X PHP 5.2.X on a Windows XP Professional Box.
Try 127.0.0.1 instead of localhost. It is the same but sometimes (and in my configuration too) only ip works fine.
If you still having this problem, the easiest solution is to install JoomlaPack on your live server to backup everything. Download the zip file to your local server, unzip the file, point your web browser at the unzipped folder, and follow the instructions. If you're going to move back and forth between live and local servers, this is a must have program.
You don't need to connect manually to database using mysql_connect
because joomla uses its own mechanism to connect to the database. All you need to do is to specify the db settings in the configuration.php file which is present in root of joomla installation. Once you have done that, you you run queries straight away, for example this is what you need:
$query = "SELECT * FROM jos_content LIMIT 0 , 30";
$results = mysql_query($query);
while($row = mysql_fetch_assoc($results)){
echo '<br>'.$row['title'];
}
however when I put the same DB credentials into the configuration.php it gives the the aforementioned error.
Make sure that:
- You specify the correct db settings
- The configuration file is readable by Joomla, check its permissions.
Just replace
" var $dbtype = 'mysql'; "
with
"var $dbtype = 'mysqli'; "
in global configuration.
I think it works.
精彩评论