Como usar MySQLi para conectarme ?
ME quede varado en el video #7 pues con Mysql_connect es x gusto ya que no se usa ya espero me pueden ayudar saludos
Escrito 26 diciembre 2016 - 09:08
Como usar MySQLi para conectarme ?
ME quede varado en el video #7 pues con Mysql_connect es x gusto ya que no se usa ya espero me pueden ayudar saludos
Escrito 27 diciembre 2016 - 02:58
Porque no buscas en el manual de php o cualquier sitios de tutoriales, hay dos formas: con programacion estrucuturada y poo.
Escrito 27 diciembre 2016 - 07:28
Escrito 27 diciembre 2016 - 06:16
La idea es que quiero cambiar el archivo class.php del video número 7 de POO a la nueva forma de
conexión y ni atrás ni adelante. Le he hecho modificaciones y nada. De forma lineal si funciona.
<?php //class.php class Conectar { //Para mayor seguridad guardar en un archivo externo private $hostname = 'localhost'; private $database = 'trabajo_de_curso'; private $username = 'root'; private $password = 'user'; public function con() { //MySQLi $conexion = new mysqli($this->hostname,$this->username,$this->password, $this->database); /*if ($mysqli->connect_errno) { die( "Fallo la conexión a MySQL: (" . $mysqli -> mysqli_connect_errno() . ") " . $mysqli -> mysqli_connect_error()); } else{ echo "Conexión exitosa!"; //mysql_query("SET NAMES 'utf8'"); //mysql_select_db("trabajo_de_curso"); //return $conexion; }*/ } } //****************************************************************** class Trabajo extends Conectar { //private $visitas=array(); private $visitas; private $conexion; public function __construct() { $this->con(); } public function get_visitas() { //Connectar::con(); //MySQLi $conexion = "SELECT * FROM libro_de_visitas"; if ($conexion->query($conexion) == TRUE) { } else{ echo "Error al ejecutar el comando:".$mysqli->error;} while ($rows=$this->conexion->fetch_assoc()) { print("<tr>"); print("<td>".$rows["id"]."</td>"); print("<td>".$rows["nombre_persona"]."</td>"); print("<td>".$rows["texto"]."</td>"); print("</tr>"); } return $this->visitas; } } ?>
<?php //Index.php require_once("class/class.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Prueba de conexión </title> </head> <body> <h2>Listado de Comentarios en el Libro de Visitas</h2> <?php $tra=new Trabajo(); $visitas=$tra->get_visitas(); { echo $visitas[$i]["nombre_persona"]; echo " || "; echo $visitas[$i]["texto"]; echo "<br>"; } ?> </body> </html>
Escrito 28 diciembre 2016 - 07:24
Es que en ningún momento has llamado a la conección en el index.php, haz la llamada a la conección antes de obtener cualquier info.
Saludos.
Escrito 28 diciembre 2016 - 09:23
Ya me logro conectr sin problemas y mostrar los datos, y de paso arregle unos errores que tengo en ese codigo que deje ahi, ya me conecto bien, pero, si lo hago todo en una clase cuando trato de pasar el parametro $conexion a la clase trabajo es donde viene el probmema.
Si hago lo siguiente desde la clase trabajo
$conexion->query("SELECT * FROM libro_de_visitas");
me dice que
Notice: Undefined variable: conexion in C:\wamp64\www\OOP_Cesarcancino\7\class\class.php on line 52 Fatal error: Uncaught Error: Call to a member function query() on null in C:\wamp64\www\OOP_Cesarcancino\7\class\class.php on line 52
Error: Call to a member function query() on null in C:\wamp64\www\OOP_Cesarcancino\7\class\class.php on line 52
Escrito 03 enero 2017 - 11:43
Ya resolvi el problema Muchas gracias, quedaria asi.
<?php class Conectar { //Para mayor seguridad guardar en un archivo externo private $hostname = 'localhost'; private $database = 'trabajo_de_curso'; private $username = 'root'; private $password = 'user'; public $conexion; public $anyquery; public $result; public function con() { //MySQLi $this->conexion = new mysqli($this->hostname,$this->username,$this->password, $this->database); if ($this->conexion->connect_errno) { } else{ echo "Conexión exitosa!"; //mysql_query("SET NAMES 'utf8'"); //mysql_select_db("trabajo_de_curso"); //return $conexion; } } public function SomeQuery($anyquery) { $this->anyquery = $anyquery; if ($this->conexion->query($anyquery) == TRUE) { /* print("<table>"); while ($rows = $result->fetch_assoc()) { print("<tr>"); print("<td>".$rows["id"]."</td>"); print("<td>".$rows["nombre_persona"]."</td>"); print("<td>".$rows["texto"]."</td>"); print("</tr>"); }*/ $this->conexion->query("SET NAMES 'utf8'"); return $this->result = $this->conexion->query($anyquery); } else{ echo "Error al ejecutar el comando:".$mysqli->error;} } } //****************************************************************** class Trabajo extends Conectar { private $visitas; private $query; public function __construct() { $this->con(); } public function get_visitas() { $this->SomeQuery("SELECT * FROM libro_de_visitas"); while ($rows = $this->result->fetch_assoc()) { print("<br><tr>"); print("<td>".$rows["id"]."</td>"); print("<td>".$rows["nombre_persona"]."</td>"); print("<td>".$rows["texto"]."</td>"); print("</tr><br>"); } // echo $this->visitas; } } ?>