Jump to content


Photo

Como conectar a Mysql usando misqli


  • Please log in to reply
6 replies to this topic

#1 Electroadicto

Electroadicto

    Member

  • Miembros
  • PipPip
  • 13 posts
  • LocationLa Habana

Posted 26 December 2016 - 09:08 PM

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


  • 0

#2 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 posts

Posted 27 December 2016 - 02:58 AM

Porque no buscas en el manual de php o cualquier sitios de tutoriales, hay dos formas: con programacion estrucuturada y poo.


  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 27 December 2016 - 07:28 AM


php
  1. $db = mysqli_connect("127.0.0.1", "mi_usuario", "mi_contraseña", "mi_bd");


  • 0

#4 Electroadicto

Electroadicto

    Member

  • Miembros
  • PipPip
  • 13 posts
  • LocationLa Habana

Posted 27 December 2016 - 06:16 PM

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
  1. <?php
  2. //class.php
  3. class Conectar
  4. {
  5. //Para mayor seguridad guardar en un archivo externo
  6. private $hostname = 'localhost';
  7. private $database = 'trabajo_de_curso';
  8. private $username = 'root';
  9. private $password = 'user';
  10.  
  11. public function con()
  12. {
  13.  
  14. //MySQLi
  15.  
  16. $conexion = new mysqli($this->hostname,$this->username,$this->password, $this->database);
  17.  
  18. /*if ($mysqli->connect_errno) {
  19. die( "Fallo la conexión a MySQL: (" . $mysqli -> mysqli_connect_errno()
  20. . ") " . $mysqli -> mysqli_connect_error());
  21. }
  22. else{
  23. echo "Conexión exitosa!";
  24. //mysql_query("SET NAMES 'utf8'");
  25. //mysql_select_db("trabajo_de_curso");
  26. //return $conexion;
  27. }*/
  28. }
  29. }
  30. //******************************************************************
  31. class Trabajo extends Conectar
  32. {
  33. //private $visitas=array();
  34. private $visitas;
  35. private $conexion;
  36.  
  37. public function __construct()
  38. {
  39. $this->con();
  40. $this->visitas=array();
  41.  
  42. }
  43. public function get_visitas()
  44. {
  45. //Connectar::con();
  46.  
  47. //MySQLi
  48.  
  49. $conexion = "SELECT * FROM libro_de_visitas";
  50. if ($conexion->query($conexion) == TRUE)
  51. {
  52. printf($conexion->affected_rows." Filas afectadas");
  53. }
  54. else{
  55. echo "Error al ejecutar el comando:".$mysqli->error;}
  56.  
  57. while ($rows=$this->conexion->fetch_assoc())
  58. {
  59. print("<tr>");
  60. print("<td>".$rows["id"]."</td>");
  61. print("<td>".$rows["nombre_persona"]."</td>");
  62. print("<td>".$rows["texto"]."</td>");
  63. print("</tr>");
  64. }
  65. return $this->visitas;
  66. }
  67. }
  68. ?>


php
  1. <?php
  2. //Index.php
  3. require_once("class/class.php");
  4. ?>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>
  9. Prueba de conexi&oacute;n
  10. </title>
  11. </head>
  12. <body>
  13. <h2>Listado de Comentarios en el Libro de Visitas</h2>
  14.  
  15. <?php
  16.  
  17. $tra=new Trabajo();
  18.  
  19. $visitas=$tra->get_visitas();
  20.  
  21. for ($i=0;$i<sizeof($visitas);$i++)
  22. {
  23. echo $visitas[$i]["nombre_persona"];
  24. echo "&nbsp;&nbsp;||&nbsp;&nbsp;";
  25. echo $visitas[$i]["texto"];
  26. echo "<br>";
  27. }
  28. ?>
  29.  
  30. </body>
  31. </html>


  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 28 December 2016 - 07:24 AM

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.


  • 0

#6 Electroadicto

Electroadicto

    Member

  • Miembros
  • PipPip
  • 13 posts
  • LocationLa Habana

Posted 28 December 2016 - 09:23 PM

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


php
  1. $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


  • 0

#7 Electroadicto

Electroadicto

    Member

  • Miembros
  • PipPip
  • 13 posts
  • LocationLa Habana

Posted 03 January 2017 - 11:43 AM

Ya resolvi el problema Muchas gracias, quedaria asi.


php
  1. <?php
  2. class Conectar
  3. {        
  4.  //Para mayor seguridad guardar en un archivo externo
  5. private $hostname = 'localhost';
  6. private $database = 'trabajo_de_curso';
  7. private $username = 'root';
  8. private $password = 'user';
  9. public $conexion;    
  10. public $anyquery;
  11. public $result;    
  12.     
  13.     public  function con()
  14.     {
  15.  
  16.     //MySQLi
  17.  
  18. $this->conexion = new mysqli($this->hostname,$this->username,$this->password, $this->database);
  19.  
  20. if ($this->conexion->connect_errno) {
  21. die( "Fallo la conexión a MySQL: (" . $mysqli -> mysqli_connect_errno()
  22. . ") " . $mysqli -> mysqli_connect_error());
  23. }
  24. else{
  25. echo "Conexión exitosa!";
  26.         //mysql_query("SET NAMES 'utf8'");
  27.         //mysql_select_db("trabajo_de_curso");
  28.         //return $conexion;
  29.         }
  30.  
  31.     }
  32.     
  33.     public function SomeQuery($anyquery)
  34.     {
  35.          $this->anyquery = $anyquery;
  36.         
  37.          if ($this->conexion->query($anyquery) == TRUE)
  38. {
  39. printf($this->conexion->affected_rows." Filas afectadas");
  40.  
  41. /* print("<table>");
  42.  
  43.  while ($rows = $result->fetch_assoc())
  44.         {
  45. print("<tr>");
  46. print("<td>".$rows["id"]."</td>");
  47. print("<td>".$rows["nombre_persona"]."</td>");
  48. print("<td>".$rows["texto"]."</td>");
  49. print("</tr>");
  50.         }*/
  51.     $this->conexion->query("SET NAMES 'utf8'");
  52.  return $this->result = $this->conexion->query($anyquery);
  53. }
  54. else{
  55. echo "Error al ejecutar el comando:".$mysqli->error;}
  56.         
  57.     
  58.        }
  59. }
  60. //******************************************************************
  61. class Trabajo extends Conectar
  62. {
  63.     
  64.     private $visitas;
  65.     private $query;
  66.     
  67.     public function __construct()
  68.         {  
  69.             $this->con();
  70.             $this->visitas=array();
  71.             
  72.         }
  73.         
  74.         
  75.     public function get_visitas()
  76.     {  
  77.        $this->SomeQuery("SELECT * FROM libro_de_visitas");
  78.  
  79. while ($rows =  $this->result->fetch_assoc())
  80.         {
  81. print("<br><tr>");
  82. print("<td>".$rows["id"]."</td>");
  83. print("<td>".$rows["nombre_persona"]."</td>");
  84. print("<td>".$rows["texto"]."</td>");
  85. print("</tr><br>");
  86.         }
  87.         //    echo $this->visitas;
  88.     }    
  89. }
  90. ?>


  • 1




IP.Board spam blocked by CleanTalk.