Tengo una clase para conectar a una base de datos y casi funciona.
Código PHP:
class mysql {
var $base="mibase";
var $servidor="localhost";
var $usuario="user";
var $clave ="clave";
var $conexion="";
var $consulta="";
function conectar () {
$user=$this->usuario;
$pass=$this->clave;
$server=$this->servidor;
$base=$this->base;
$conecta=mysql_connect($server,$user,$pass);
mysql_select_db($base,$conecta);
$this->conexion=$conecta;
return true;
}
function consultar ($sql="") {
$conecta=$this->conexion;
$result=mysql_query($sql,$conecta);
$this->consulta=$result;
return true;
}
function numero() {
$conecta=$this->conexion;
$result=$this->consulta;
$num=mysql_num_rows($result);
return $num;
}
function resultado() {
$conecta=$this->conexion;
$result=$this->consulta;
while ($row=mysql_fetch_assoc($result)) {
return $row;
}
mysql_free_result($result);
}
//final de la clase
}
Código PHP:
include_once('clase.php');
$mysql = new mysql();
$mysql->conectar();
$mysql->consultar("select * from productos");
$res=$mysql->resultado();
echo"$res[nombre_producto]<br>";
1º.- En el resultado de la consulta echo"$res[nombre_producto]"; sólo sale un resultado (hay 10 filas en la base de datos).
2º.- ¿Hay alguna forma de evitar tanto $mysql->...... Es decir, poner algo aí como:
Código PHP:
include_once('clase.php');
$mysql=new mysql();
$result=consultar("select * from productos);
$productos=resultado($result);
echo"$productos[nombre_producto]<br>";