Buenas,
Muchas gracias por las explicaciones, las intento aplicar pero no tengo éxito. Creo que me falta una cosa.
Este es el código de la clase. Si os fijáis he añadido en la linea 13 y 18 los parámetros y me dice lo siguiente:
Código:
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\00-laboratorio_test\secciones\mysql\clase_mysql_1\class-mysql.php on line 20
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\AppServ\www\00-laboratorio_test\secciones\mysql\clase_mysql_1\class-mysql.php on line 26
Warning: Invalid argument supplied for foreach() in C:\AppServ\www\00-laboratorio_test\secciones\mysql\clase_mysql_1\ejemplo.php on line 16
Clase
Código PHP:
Ver original<?php
class DataBase {
private $conexion;
private $resource;
private $sql;
public static $queries;
private static $_singleton;
public static function getInstance(){
self::$_singleton = new DataBase($servidor, $user, $password, $db);
}
return self::$_singleton;
}
private function __construct($servidor, $user, $password, $db){
$this->queries = 0;
$this->resource = null;
}
public function execute(){
if(!($this->resource = mysql_query($this->sql, $this->conexion))){ return null;
}
$this->queries++;
return $this->resource;
}
public function alter(){
if(!($this->resource = mysql_query($this->sql, $this->conexion))){ return false;
}
return true;
}
public function loadObjectList(){
if (!($cur = $this->execute())){
return null;
}
$array[] = $row;
}
return $array;
}
public function setQuery($sql){
return false;
}
$this->sql = $sql;
return true;
}
public function freeResults(){
return true;
}
public function loadObject(){
if ($cur = $this->execute()){
return $object;
}
else {
return null;
}
}
else {
return false;
}
}
function __destruct(){
}
}
?>
Script
Código PHP:
Ver original<?php
include('class-mysql.php');
// Hacemos la conexión
$db = DataBase::getInstance('localhost','root','pass12421','mibasededatos');
// Supongamos que tenemos una tabla de usuarios
// Hacemos la consulta:
$db->setQuery("SELECT * FROM wp_posts");
// La ejecutamos y al mismo tiempo obtenemos un arreglo de objetos
// con los campos especificados en la consulta como propiedades.
$usuarios = $db->loadObjectList();
// Los imprimimos directamente en pantalla...
foreach($usuarios as $usuario){
echo 'ID: '.$usuario->ID;
echo 'Nombre: '.$usuario->post_name;
echo 'Grupo: '.$usuario->post_status;
echo '<br />';
}
?>
Qué es lo que falta para que acabe de funcionar esto? :S
Muchas gracias por vuestra ayuda!