elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Resuelto] Ayuda con POO no puedo ingresar registros en base mysql con pdo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] Ayuda con POO no puedo ingresar registros en base mysql con pdo  (Leído 2,732 veces)
Necronomicon.93

Desconectado Desconectado

Mensajes: 7


Ver Perfil
[Resuelto] Ayuda con POO no puedo ingresar registros en base mysql con pdo
« en: 28 Junio 2018, 23:33 pm »

hola a todos! estoy intentando hacer un blog con poo y la libreria pdo, puedo visualizar la pagina, pero no insertar registros.

Undefined variable: conexion in C:\xampp\htdocs\Web-Docs\ProjktBlog\ProjektoBlogPOO\Modelo\Manejo_Objetos.php on line 55

Fatal error: Uncaught Error: Cannot access empty property in C:\xampp\htdocs\Web-Docs\ProjktBlog\ProjektoBlogPOO\Modelo\Manejo_Objetos.php:55 Stack trace: #0 C:\xampp\htdocs\Web-Docs\ProjktBlog\ProjektoBlogPOO\Controlador\Transacciones.php(80): Manejo_Objetos->inserta_contenido(Object(Objeto_Blog)) #1 {main} thrown in C:\xampp\htdocs\Web-Docs\ProjktBlog\ProjektoBlogPOO\Modelo\Manejo_Objetos.php on line 55

Código
  1. include_once("Objeto_Blog.php");
  2.  
  3.  
  4. class Manejo_Objetos {
  5.  
  6. private $conexion;
  7.  
  8. public function __construct($conexion){
  9.  
  10.  
  11. $this->setConexion($conexion);
  12. }
  13.  
  14. public function setConexion(PDO $conexion){
  15.  
  16. $this->conexion=$conexion;
  17. }
  18.  
  19. public function orderbydate(){
  20.  
  21. $matriz=array();
  22.  
  23. $contador=0;
  24.  
  25. $resultado=$this->conexion->query("SELECT * FROM blog ORDER BY FECHA");
  26.  
  27. while ($registro=$resultado->fetch(PDO::FETCH_ASSOC)) {
  28.  
  29. $blog=new Objeto_Blog();
  30.  
  31. $blog->set_id($registro['id']);
  32.  
  33. $blog->set_titulo($registro['titulo']);
  34.  
  35. $blog->set_fecha($registro['fecha']);
  36.  
  37. $blog->set_comentario($registro['comentario']);
  38.  
  39. $blog->set_imagen($registro['imagen']);
  40.  
  41. $matriz[$contador]=$blog;
  42.  
  43. $contador++;
  44. }
  45.  
  46. return $matriz;
  47. }
  48.  
  49. public function inserta_contenido(Objeto_Blog $blog){
  50.  
  51. $sql="INSERT INTO blog (titulo, fecha, comentario, imagen) VALUES('" . $blog->get_titulo() . "','" . $blog->get_fecha() ."','" . $blog->get_comentario() ."','" . $blog->get_imagen() . "')";
  52.  
  53. $this->$conexion->exec($sql);
  54.  
  55. }
  56. }
  57.  
  58.  
Código
  1. include_once("../Modelo/Objeto_Blog.php");
  2.  
  3. include_once("../Modelo/Manejo_Objetos.php");
  4.  
  5. try{
  6.  
  7. $miconexion=new PDO('mysql:host=localhost; dbname=pruebas', 'root', '');
  8.  
  9. $miconexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  10.  
  11.  
  12.  
  13.  
  14.  
  15. if($_FILES['imagen']['error'])
  16.  
  17. {
  18.  
  19. switch ($_FILES['imagen']['error']) {
  20.  
  21. case 1:
  22.  
  23. echo "el archivo excede el tamaño permitido por el servidor";
  24.  
  25. break;
  26.  
  27. case 2:
  28.  
  29. echo "el archivo excede el tamaño permitido";
  30.  
  31. break;
  32.  
  33. case 3:
  34.  
  35. echo "no se a enviado ningun archivo";
  36.  
  37. break;
  38.  
  39. }
  40.  
  41. } else {
  42.  
  43. echo "entrada subida correctamente";
  44.  
  45. if ((isset($_FILES['imagen']['name']) && ($_FILES['imagen']['error'] == UPLOAD_ERR_OK))) {
  46.  
  47. $destino_ruta="../imagenes/";
  48.  
  49. move_uploaded_file($_FILES['imagen']['tmp_name'], $destino_ruta . $_FILES['imagen']['name']);
  50.  
  51. echo "el archivo" . $_FILES['imagen']['name'] . "se a subido correctamente";
  52.  
  53. } else {
  54.  
  55. echo "el archivo no se subio correctamente";
  56.  
  57. }
  58.  
  59. $Manejo_Objetos=new Manejo_Objetos($miconexion);
  60.  
  61. $blog=new Objeto_Blog();
  62.  
  63. $blog->set_titulo(htmlentities(addslashes($_POST['campo_titulo']), ENT_QUOTES));
  64.  
  65. $blog->set_fecha(date("Y-m-d H:i:s"));
  66.  
  67. $blog->set_comentario(htmlentities(addslashes($_POST['area_comentarios']), ENT_QUOTES));
  68.  
  69. $blog->set_imagen($_FILES['imagen']['name']);
  70.  
  71. $Manejo_Objetos->inserta_contenido($blog);
  72.  
  73. echo "<br>entrada de blog realizada con exito<br>";
  74.  
  75. }
  76.  
  77. } catch(Exception $e){
  78.  
  79. die("Error:" . $e->getMessage());
  80. }

agradeceria cualquier ayuda!!


« Última modificación: 23 Agosto 2018, 02:05 am por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Ayuda con POO no puedo ingresar registros en base mysql con pdo
« Respuesta #1 en: 2 Julio 2018, 00:45 am »

Linea 55 de tu archivo Manejo_Objetos.php, lo estas llamando así:

Código
  1. $this->$conexion->exec($sql);

Las propiedades en un método se llaman sin el $.

Código
  1. $this->conexion->exec($sql);

Saludos


En línea

Necronomicon.93

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Ayuda con POO no puedo ingresar registros en base mysql con pdo
« Respuesta #2 en: 2 Julio 2018, 22:16 pm »

Muchas gracias  #!drvy funciono!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con conteo de registros en php y mysql « 1 2 »
PHP
RedZer 13 9,766 Último mensaje 5 Diciembre 2010, 20:28 pm
por RedZer
[AYUDA]Actualizar multiples registros en MySQL
PHP
Feedeex 1 4,437 Último mensaje 25 Abril 2011, 23:57 pm
por merolhack
Eliminar Registros de Base de Datos Mysql con VB 2010
.NET (C#, VB.NET, ASP)
Didy 2 6,289 Último mensaje 21 Febrero 2013, 15:20 pm
por HdM
Borrar Registros de base de datos Mysql
Desarrollo Web
JRO1384 2 2,705 Último mensaje 4 Noviembre 2013, 17:18 pm
por Saberuneko
[Resuelto] mostrar mas de un registro de base de datos mysql en textarea
PHP
demonstrator 4 5,830 Último mensaje 7 Abril 2015, 22:13 pm
por demonstrator
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines