Jump to content

Archived

This topic is now archived and is closed to further replies.

sngskunk

Class for connecting to mysql

Recommended Posts

Im trying to make a class to connect to my mysql database but for some reason its not working cand you tell me what i need to do.

[code]
<?php

class DB_Connect {
  
  var $server;
  var $username;
  var $password;
  var $database;
  
  function db_connect() {
    
    $dbserver = $this->server;
    $dbuser = $this->username;
    $dbpass = $this->password;
    $db = $this->database;
    
    $connect = mysql_connect($dbserver, $dbuser, $dbpass);
    mysql_select_db($db, $connect);    
    
  }
}

$db = new DB_Connect;
$db->server = "localhost";
$db->username = "user";
$db->password = "pass";
$db->database = "database";
$db->db_connect();

?>
[/code]

I get this error:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files (x86)\xampp\htdocs\portal\new\test.php on line 17

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files (x86)\xampp\htdocs\portal\new\test.php on line 18

But the server, username, password, and database are correct. Help???

Share this post


Link to post
Share on other sites
I think you need a constructor function that will assign the values to your class variables.

The constructor function in php 4 must be the same name as the class "function DB_Connect()"

in that function assign the values of the $server.......

Share this post


Link to post
Share on other sites
Although the code could be better, it should work. Constructors are not needed, but they may be useful.

Actually it's the constructor that is causing the problem.
The constructor is called as soon as the class is initiated, not allowing you to set the server, username, etc.

Try to rename the method to "connect" and it should work.

Share this post


Link to post
Share on other sites
[!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]Actually it's the constructor that is causing the problem.[/quote]
There is no constructor in the code posted, php is case sensitive.

The fact is this class is working fine. You seem to have a permissions problem. Are you sure the username and password are correct?

Share this post


Link to post
Share on other sites
Oddly enough, it works here as constructor.

OS related maybe?

Share this post


Link to post
Share on other sites
Okay i changed $server to $address and db_connect() to connect().

What would be the best way to write this poirot (any help is great).

Thanks for the help!!!!!!!!!!!!!!!!!

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.