MySQL Problem
- From: Zsolt Munoz <zmunoz@xxxxxxxxx>
- Date: Sun, 30 Oct 2005 02:11:08 GMT
I am pretty new to OOP w/PHP but I feel that it may be in my best interest to learn it. I have created a class to connect to a MySQL DB but when I go to run a query I only get the 1st row from table and cannot get anything else. Below is the class I created and how I am executing the program. Maybe someone could give me a hand with this.
Thanks
|----Class.php----|
<?
class MyGo {
var $myserver;
var $mydb;
var $myuser;
var $mypass;
var $run;
var $standby = false;
function MyGo() {
$this->myserver = "localhost";
$this->myuser = "user";
$this->mypass = "pass";
$this->mydb = "db";
}
function connect() {
$connect = @mysql_connect($this->myserver,$this->myuser,$this->mypass) or die("Failed to connect to MySQL host.<br>". mysql_error() .."<br><br><strong>Line:</strong> ". __LINE__ .."<br><strong>File:</strong> ". __FILE__);
$this->select();
return($connect);
}
function select() {
@mysql_select_db($this->mydb) or die("Failed to select mysql DB {$this->mydb}.<br>". mysql_error() ."<br><br><strong>Line:</strong> ". __LINE__ ."<br><strong>File:</strong> ". __FILE__);
}
function close() {
@mysql_close($this->connect());
}function query() {
$this->connect();
$query = @mysql_query($this->run) or die("Failed to query the database.<br>". mysql_error() ."<br><br><strong>Line:</strong> ". __LINE__ ."<br><strong>File:</strong> ". __FILE__);
if ($this->standby == false) {
$this->close();
}
return($query);
}
function num_results() {
$this->connect();
$total = @mysql_num_rows($this->query());
return($total);
}
function num_fields() {
$this->connect();
$field = @mysql_num_fields($this->query());
return($field);
}
function name_fields($cnt) {
$this->connect();
$field_name = @mysql_field_name($this->query(), $cnt);
return($field_name);
} function result() {
$this->connect();
$result = @mysql_fetch_array($this->query());
return($result);
}
}
?>
|----test.php----| <? include ("./classes/class.php"); $db = new MyGo; $db->run = "SELECT * FROM table"; while($row = $db->result()) { for($cnt = 0; $cnt < $db->num_fields(); $cnt++) { echo "<strong>".$db->name_fields($cnt).":</strong> "; echo $row[$cnt]."<br>\n"; } echo "------------------------------------------------------<br>"; } $db->close(); ?> .
- Follow-Ups:
- Re: MySQL Problem
- From: Oli Filth
- Re: MySQL Problem
- Prev by Date: Re: Need expert assistance with this (MySQL routine)
- Next by Date: Re: MySQL Problem
- Previous by thread: sytax error, but where?
- Next by thread: Re: MySQL Problem
- Index(es):
Relevant Pages
|