Basandome en algunos ejemplos hice una clase para ejecutar consultas a una DB MySQL.
Código PHP:
<?
class Mysql {
var $db_host;
var $db_user;
var $db_pass;
var $db_name;
var $conn_id = 0;
var $query_id = 0;
var $errno = 0;
var $error = "";
function Mysql ($host="", $user="", $pass="", $name="") {
$this->db_host = $host;
$this->db_user = $user;
$this->db_pass = $pass;
$this->db_name = $name;
}
function connect ($host, $user, $pass, $name) {
if ($host != "") $this->db_host = $host;
if ($user != "") $this->db_user = $user;
if ($pass != "") $this->db_pass = $pass;
if ($name != "") $this->db_name = $name;
$this->conn_id = mysql_connect($this->db_host, $this->db_user, $this->db_pass);
if (!$this->conn_id) {
$this->error = "cant connect to db server";
return 0;
}
if (!@mysql_select_db($this->db_name, $this->conn_id)) {
$this->error = "Can't connect to ".$this->db_name ;
return 0;
}
return $this->conn_id;
}
function query ($sql="") {
if ($sql == "") {
$this->error = "Invalid SQL Query";
return 0;
}
$this->query_id = @mysql_query($sql, $this->conn_id);
if (!$this->query_id) {
$this->errno = mysql_errno();
$this->error = mysql_error();
}
return $this->query_id;
}
}
Hasta ahora lo hago de esta forma:
Código PHP:
<?php
require ("mysql.class.php");
$my_query = new Mysql;
$my_query->connect("localhost", "user", "pass", "mydb");
$rows = $my_query->query("SELECT * FROM table");
while ($row = mysql_fetch_array($rows)) {
echo $row["foo"]."<br>\n";
}
?>
No sé, estoy bastante liado, pero me da la sensación de que en este último paso estoy volviendo a programar estructuradamente. De que forma lo harían uds?
Espero que se entienda mas o menos lo que quiero decir, cualquier ayuda es bienvenida.