Programación Web y Scripting > PHP

 Problema con script en PHP

(1/5) > >>

Ale992:
Bueno tengo el siguiente script:

--- Código: PHP ---<?php class db{ private $servidor;private $usuario;private $pass;private $base_datos;private $descriptor; function __construct($servidor = "mysql8.000webhost.com",$usuario = "a7863285_xasd",$pass = "xxxxxx",$base_datos = "a7863285_cManage"){$this->servidor = $servidor;$this->usuario = $usuario;$this->pass = $pass;$this->base_datos = $base_datos;$this->conectar_base_datos(); }prívate function conectar_base_datos()   //ERROR EN ESTA LINEA{$this->descriptor = mysql__connect($this->servidor,$this->usuario,$this->pass) ;mysql_select_db($this->base_datos,$this->descriptor);}public function consulta($consulta){$this->resultado = mysql_query($consulta,$this->descriptor) ;}public function utf (){mysql_query ("SET NAMES 'utf8'");}}?> 
Y el error es el siguiente:

Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /home/a7863285/public_html/mysql.php on line 21

Alguien tiene idea que es lo que hay mal o como solucionarlo?

Gracias.

JrcsDev:
De momento veo que en la línea 21 tienes lo siguiente "prívate function" con acento... quíate el acento al  "private".

En la línea 23 y 24 (deberia estar todo en uno sola línea) dice mysql__connect, cambialo por mysql_connect
$this->descriptor = mysql__connect($this->servidor,$this-
>usuario,$this->pass) ;

Ale992:
Gracias, ya lo corregi.

Mi pregunta es si una vez creado un nuevo objeto con esa clase, y luego de haberme conectado a la base de datos y hecho la consulta a la misma usando las funciones de la clase puedo hacer mysql_close() directamente en el codigo o si la unica manera de cerrar la conexion es creando una nueva funcion en la clase que cierre la conexion. Porque lo cerre de la primer manera y me larga un error y no se si es que no se puede hacer o si volvi a hacer algo mal.

JrcsDev:
La función mysql_close($link) no siempre es necesaria... pero cuando la colocas, si no le pasas un $link en el parámetro, se cierra la última conexion...

Ale992:
Ok, ahora voy a probar, y otra cosa, disculpa que siga preguntando es que soy bastante nuevo en esto y todavia no logro comprender del todo el funcionamiento de la programacion orientada a objetos.

Este es el codigo de la clase:

--- Código: PHP ---  class db{ private $servidor;private $usuario;private $pass;private $base_datos;public  $descriptor; function __construct($servidor = "mysql8.000webhost.com",$usuario = "a7863285_root",$pass = "alexismoyano1992",$base_datos = "a7863285_cManage"){$this->servidor = $servidor;$this->usuario = $usuario;$this->pass = $pass;$this->base_datos = $base_datos;$this->conectar_base_datos(); }private function conectar_base_datos(){$this->descriptor = mysql_connect($this->servidor,$this->usuario,$this->pass) ;mysql_select_db($this->base_datos,$this->descriptor);}public function consulta($consulta){$this->resultado = mysql_query($consulta,$this->descriptor) ;}public function extraer_registro (){if ($fila = mysql_fetch_array($this->resultado,MYSQL_ASSOC)){  return $fila;} else {  return $fila[0]= "ERROR";}}public function utf (){mysql_query ("SET NAMES 'utf8'");}public function close (){ mysql_close($this->descriptor);}}  
Y este el del programa:


--- Código: PHP ---           require_once("mysql.php");                    $usuario = new db();          $query= "SELECT * FROM news ORDER BY newID DESC LIMIT 0,10";                    $usuario->utf();          $usuario->consulta($query);          $fila = $usuario->extraer_registro();                            // $resultado=mysql_query($query, $connect) or die ("Problema al acceder a los datos ".mysql_error());         // while ($reg = mysql_fetch_array($resultado))         // {         //   $fecha= $reg['date'];         //  echo "<div id="date" align="right">( ".cambiaf($fecha).")</div>";         //  echo "<div id='met'>".stripslashes($reg["title"])."</div>";         // echo "<div class='text'><p>".stripslashes($reg["article"])."<br/></p></div>";         //  echo "<div id='hr2'></div>";           //}                    echo $fila[0];          echo $fila[1];          echo "Hola";           $usuario->close();  
Yo tengo que tomar los 10 ultimos registros que se encuentran en una base de datos, eso lo hago pero despues tengo que tomar los datos de cada fila y mostrarlos, eso antes lo hacia sin la programacion orientada a objetos, pero ahora quiero pasar todo y se me complico, la manera como la realizaba antes era lo que esta como comentario y de esa manera funcionaba perfecto, pero como deberia hacerlo en POO.

Y otra cosa, en la funcion extraer_registro() de la clase supuestamente deberia devolver una variable $fila que es un array con los datos, pero como los recibo a esos datos?
Lo hice de la siguiente manera como ven en el codigo:
$fila = $usuario->extraer_registro();
y despues intente ver que tenia la variable pero no tiene nada o por lo menos no muestra nada...

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa