Comenzamos a ver en este vídeo cómo conectar con BBDD utilizando Programación Orientada a Objetos creando clases. Para más cursos. ejercicios y manuales visita: www.pildorasinformaticas.com
me habia aparecido un error pero lo pude solucionar cambiando el nombre del constructor uso php version 8.0.3 este es el codigo de conexion por si lo necesitan y muchas gracias por los videos, me han servido mucho para aprender mejor este lenguaje
Debido a que ha habido ciertos cambios en PHP, dejaré aquí el código que funciona en 2020: Para el archivo de config.php: Archivo de conexion.php: Archivo de devuelve productos.php: Y finalmente el archivo index que yo decidí llamar muestraProductos.php: Document
Holas, esta clase tambien no me funcionó, y pasé varias horas en la noche intentandolo, recien al dia siguiente lo resolví viendo los comentarios; es por los constructores que ahora se escriben diferente, sigan la recomendacion de Miguel Reyes; por otro lado saludo al profesor, muy bueno sus cursos, de los tantos tutoriales que veo este es de los mejores, su dedicación y paciencia son de los que se desea en un profesor.
Después de barrer RU-vid en busca de cursos dedicados a PHP y mySQL, tengo que decir que este es uno de los cursos más claros y bien explicados que hay, ¡enhorabuena! Más adelante, ¿tienes la intención de explicar el tema de sesiones, usuarios, roles, perfiles, etc...que tanta faena da? ¡Un saludo y sigue así!
+Thierry Henry Hola !! Gracias por el comentario. Sí, es mi intención tratar todos estos asuntos ya que me preguntáis mucho por ellos. Más adelante los veremos. Un saludo
Se agradece como siempre don Píldoras , comento todos los días a esta hora , porque llego del trabajo tarde y siempre me doy animo para aprender algo nuevo y en parte es que sus vídeos son fáciles de digerir , usted explica todo con mucho detalle no quedando nada a la imaginación. Saludos como siempre señor.
Pues muchas gracias como siempre por ver mis vídeos. Yo por desgracia no puedo leer todos los días vuestros comentarios porque son muchísimos. Pero a veces os leo. Un saludo!
Excelente cada ves mas contento con los conocimientos adquiridos profesor, para los que no lo sepan los marcadores solo funcionan en la libreria PDO, intente en MySQLI con POO ya tenia un buen dolor de cabeza, las compare y en efecto los marcadores no estan en la librería MySQLI, Saludos!
Eres un buenazo :-), mil gracias, tenia error en el __construct (es _ _ ) jejeje como 1 hora para entenderlo y eso porque leí los comentarios, caramba no poner atención en una sola linea, como se complica uno la existencia
Sus vídeos son muy buenos profesor, muchas gracias por compartir los cursos y su conocimiento :) , seria genial que abordara el tema de maquetado para wordpress o otros en photoshop cs6
Excelente curso. Años después me ha servido mucho aunque he consultado el manual de PHP para actualizar algunas cosas que han cambiado en las nuevas versiones. Pero sigue siendo excelente. Saludos y Gracias.
Buenas! Lo primero agradecer el gran aporte que das! CÓDIGO OBSOLETO: 1- Los constructores se llaman __construct() también admite __constructLOQUEQUIERAS() 2- El método get le pasa casi lo mismo, se debe llamar __get() o __getLOQUEQUIERAS() [de momento no está obsoleto] 3- En el método get no me hace bien la consulta y tuve que llamar a la funcion mysqli_query($link) Pongo código: $consulta = "SELECT * FROM ARTICULO"; $resultado = mysqli_query($this->mysqli, $consulta); $datos = mysqli_fetch_all($resultado,MYSQLI_ASSOC); --> MYSQLI_ASSOC [Sirve para guardar el nombre de las columnas] 4- Importante poner MYSQLI_ASSOC en el paso anterior sino deseas tratar el array con índices en vez de con nombres (para el caso foreach) Dejo esto por aquí porque he estado un rato buscando y no quiero que les pasen a otros igual que a mi PD: Sigue asi! Eres un crack! para cuando un curso de ¿criptomomedas? Sería de los primeros en verlo!
saludos y gracias por la intencion, pero en mi caso el codigo del profesor funciona perfectamente lo unico a tener en cuenta es cuando llamamos al constructor de la clase padre debemos poner dos guiones bajo osea (_ _) claro sin espacio. SIGUE ADELANTE JUAN, SALUDOS DESDE REP. DOMINICANA
buenas amigo, use el codigo que pones pero me pone un error de que se esta llamando al metodo nulo, sabes a que podria ser; adjunto codigo $consulta="SELECT * FROM hoja1"; $resultado=mysqli_query($this->mysqli,$consulta); $skaters=mysqli_fetch_all($resultado,MYSQLI_ASSOC); return $skaters;
@@fabiancordoba435 Hola Fabian! Pues lo primero que tienes que comprobar si la tabla a la que haces referencia se llama exactamente hoja1 Lo segundo a comprobar es el resultado de la función de 'mysqli_query': $consulta="SELECT * FROM hoja1"; $resultado=mysqli_query($this->mysqli,$consulta); if ( !is_countable($resultado) || count($resultado) mysqli->error() ); $skaters = null; else $skaters=mysqli_fetch_all($resultado,MYSQLI_ASSOC); return $skaters; Si te devuelve bien la consulta ( con mas de una fila ). El error estaría en el 'mysqli_fetch_all()' puedes probar a poner "mysqli_fetch_array()" para que te lo devuelva en array. Un saludo y que vaya bien la programación!
Sergio Sanz Arroyo el error me lo lanza en la línea del query, $resultado=mysqli_query($this->mysqli,$consulta); , y la tabla se llama hoja1, de todas maneras muchas gracias por la explicación, buscare un poco más de información para resolverlo
@@fabiancordoba435 Pues entonces está clarísimo! ahí hay un error en el parámetro $this->mysqli tiene que estar en null o algo así, revisa que la conexión esté correcta (nombre , contraseña del usuario de la bbdd y nombre de la bbdd ) También tienes que comprobar si ese usuario tiene permisos en esa bbdd. Te dejo un ejemplo de donde debe de estar fallando: $this->mysqli = mysqli_connect("localhost", "user", "password", "dbname");
Juan e tomado muchos cursos como este, pero como lo explicas se ve muy facil creo que solo tenia conocimientos de sql server pero ahora con este corso ya puedo decir que ya se un 30% de programacion de php y mysql no lo tengo dominado pero si se como un 60% ahora quiero hacer un proyecto de punto de venta y quiero regalar el codigo para las pequeñas empresas ya que como yo que soy empresario checas un software primero son muy caros y despues todos estan plagados de muchos errores, procedimientos incompletos o procedimientos insertados especialistas para cada empresa sin analizar como muchos procedimientos pueden estar en las mismas empresas solo con habilitar o deshabilitar las opciones pero bueno ya no te distraigo a ver si puedes crear un curso para generar un punto de venta en la que podamos intervenir para generar un punto de venta para pequeños empresarios, no que contemple todo solo operacion de venta, bueno te felicito por el canal espero en poco tiempo meterme a uno de tus cursos para aprender aun mas cosas
Hola Juan, me he sumado a finales de diciembre a este curso y ya me he puesto al día con el último vídeo. Permìteme felicitarte por tu excelente forma de enseñar. Te deseo mucho éxito profesional. Quedo pendiente por supuesto de tu próxima entrega. Saludos.
Excelente curso Juan, sencillo y muy bien explicado… Te felicito…!! Me encanto la parte de POO, espero continúes más adelante y puedas explicar los temas de CRUD con POO, sesiones, usuarios, etc.. Saludos
si alguien ve este excelente video, tantas lineas de codigo se prestan facilmente para errores de digitacion,,,, yo tuve uno muy tonto en el config.php y al haber error alli , empieza a mostrar erores por montones en los demas archivos php, asi que revise el config.php y habia puesto: define('DB_CONTRA',' '); ..... si miras bien habia dejado un espacio entre las comillas simples donde debe ir la contraseña; es muy poco notorio pero creanme, el tiempo que quita notarlo es muy grande.
Hola Juan y a todos los compañeros, no acostumbro a escribir pero creo que debo dar de lo que he recibido. Primero que todo; muchas gracias Juan por todos los conocimientos compartidos otra vez, en el vido siguiente ya comente por primera vez y este es el Segundo comentario, gracias Juan y Dios Te Bendiga. Bien, para los que han tenido problemas con la connexion (fetchAll(PDO::FETCH_ASSOC);) y (foreach{}) aqui les voy a dejar todo mi codigo para que lo analizen y puedan copiar, probado en todas las versiones de PHP (en el siguiente video en mi comentario el codigo esta mucho mas mejorado): _____________________________________ _________________________________________________ ____________________________________________
Profe excelente curso, es completamente distinto a todos los demas y la forma de explicar estupenda.. queria comentar algo y es que las consultas PDO son mas lentas que las Mysqli. PDO el que mucho abarca poco aprieta, al ser generico para distintos tipos de base de datos hace que pierda un poco de velocidad. saludos.
Hey muchas gracias por todos los videos que hiciste de este curso! Creeme que a mi corta edad esto me es de mucha utilidad ahora en día, felicidades en serio y espero que Dios colme tu vida de bendiciones masivas! Solo quiero pasar a preguntar tu opinión acerca de esta forma de escritura de código php, que para mi ver es más fácil que estar imprimiendo tablas, y da el mismo resultado: Conexion con clases POO Un amigo me aconsejó que escribiera así, y quisiera saber si para ti es más beneficioso o es peor. Espero tu respuesta, ¡Bendiciones en tu día!, te saludo desde El Salvador
Buenas tardes, un saludo desde Venezuela, excelente curso, muchas gracias por compartir tus conocimientos a quienes comenzamos en este mundo, tengo un inquietud. Al final de este video utilizas un ciclo foreach para poder mostrar el contenido del array asociativo que tiene almacenado los datos de la consulta SQL, cual es la diferencia entre si lo colocas de esta forma: foreach (expresión_array as $valor) sentencias o asi: foreach (expresión_array as $clave => $valor) sentencias
Hola, antes que nada gracias por los tutoriales, estan muy bien explicados. Espero me ayude en lo siguiente. estoy usando this->conexcion_db->error; para obtener el mensaje de error de mi consulta (he forzado yo el error ) sin embargo no logro obtener dicho mensaje, ya que se me retorna un string vacio, mismo caso para this->conexcion_db->errno; siempre me regresa 0. el objetivo es tener un log de errores. gracias. pd: $this->conexcion_db->connect_errno y $this->conexcion_db->connect_errno funcionan correctamente
Tuve una duda en la clase Conexion con respecto a $this->conexion_db... tenía la duda de porque no se usaba la variable conexion_db con el símbolo de $ antes, y comparto lo que pude encontrar al respecto. Cuando uno usa $this en POO: Uno usa $this para hacer referencia al objeto (instancia) actual, y se utiliza self:: para referenciar a la clase actual. Se utiliza $this->nombre para nombres no estáticos y se utiliza self::nombres para nombres estáticos. programacion.jias.es/2012/11/poo-en-php-this-parent/ Espero les sirva... Y Gracias profe por sus clases. Saludos desde Perú!
Buenas!!, siempre he tomado sus cursos como consulta con temas que no se, en este caso me gustaria recomendar que integre crear API Restful con PHP. Tengo que hacer algo similar para un proyecto y no tengo idea de como hacerlo, lo busque en este tema de php porque usted es el profesor que mas entiendo pero creo que no esta. Gracias!
Hola Juan he seguido tu curso desde el inicio hasta vídeo actual y puedo decir que eres muy buen profesor, quiero comentarte que tuve problemas donde me marcaba esta linea $users = $result->fetch_all(MYSQLI_ASSOC); de la clase usuarioModelo, investigue y aplique varias posibles soluciones sin lograr nada, tu ve que modificar esa linea de esta manera ya vista $result=$this->_db->query($sql); y cambiar algunas cosas incluyendo el foreach por un while y creeme si que funciono, me di cuenta que he aprendido y comprendido cada uno de tus lecciones. Muchas gracias por tu voluntad de enseñar hasta la proxima
+luis miguel lopez Gracias por el comentario. Me alegro de que te guste el curso. Esa es la verdadera forma de aprender, investigando uno mismo. La verdad ahora no tengo idea de por qué no te funcionó la instrucción. Pueden ser muchos los motivos como por ejemplo que estés utilizando una versión diferente de PHP a la que utilizo yo... pero habría que mirarlo. Un saludo!!
En mi caso me daba un error "Fatal error: Call to a member function fetch_all() on boolean in" porque la instruccion SQL tenia el ateristo (*) despues de la palabra FROM. Saludos
PODRIAS DAR UN CURSO DE PATRON MVC CON PHP POR FAVOR, ERES UN GRAN PROFESOR HE ESTADO APRENDIENDO DEMASIADO EN TODO ESTE TIEMPO MUCHAS GRACIAS, SALUDOS DESDE PERÚ, REALMENTE VALE LA PENA INVERTIR TIEMPO MIRANDO TUS VIDEOS, GRACIAS POR TU ENSEÑANZA Y TU TIEMPO EN HACER ESTOS VIDEOS :)
Hola Juan Buenos días... Juan como siempre agradecido con tus cursos, me sirven mucho. Mi pregunta es, que funcion cumple la palabra return en el constructor de la clase Conexion... Nos saca del programa o que valor esta retornando. Muchas gracias
Para los que les genere el código error en la consulta , buscando en páginas encontré esta solución $this->cnx_db=new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME,DB_USER,DB_PASS);
Hola profe, mi más sincera enhorabuena por tu canal. Tengo una duda, ¿el this dentro de una clase no hacía referencia al objeto? Es que en el vídeo dices que hace referencia a la clase, en este caso el que haría referencia a la propia clase sería el self, ¿es así? o estoy mal informado. Es que creo que fue eso lo que explicaste en vídeos anteriores de POO. Un abrazo y decirte que me encanta como explicas las cosas.
Para el problema de (fetch_all(MYSQLI_ASSOC)) que les salga pueden simplemente actualizar el PHP a la version 7 , a mi me funciono ya que en la version php 5 .4 me salia error
Profesor tengo varias dudas, una de ellas es al momento de colocar require ("config.php"); ahi lo colocas con paréntesis y en los otros dos require los dejas con solo las comillas dobles como es el caso de require "Conexion.php"; y de require "DevuelveProductos.php"; ¿Afecta en algo que sea con los paréntesis o sin ellos?
Hola Juan doy fe que tus cursos son muy buenos, no había tenido error hasta este capitulo (57), verifique config.php las Variables define las coloque con comillas dobles y fue un error menos, por que lo verifique cambiando el nombre de la DB y me arrojo el numero del error. Todo lo demás te puedo asegurar que esta igual y no pasa nada. en index.php en la primera zona PHP lance un echo para saber por donde voy y cuando lo coloque después de llamar al metodo get_productos no me escribe el echo. Verifique la función y esta tal cual como en el Tuto, Lo deje así y seguí viendo el CAP (58) a ver que pasaba ¿ Porque en el CAP (58) cuando entras a devuelveproducto.php en la funcion get_producto tienes en una linea $resultado.... en la otra $productos...... y en la ultima $resultado ..... y en CAP 57 esta diferente? Gracias
Tuve un maestro en la universidad que quería que programáramos como el quería, pero jamas nos decía como el lo quería. Tambien recuerdo que llegamos a crear hasta 4 veces el mismo programa de maneras diferentes y jamas era la manera en que el quería... pero el jamas nos decía como lo quería XD jaja solo decía que así no era
:))) Yo siempre que digo que en programación hay varios caminos para llegar a Roma. Hay caminos cortos, sencillos y directos y caminos más largos y difíciles. Pero mientras lleguemos a Roma cualquier camino será válido. Si tu programa funciona correctamente, tal vez no tenga el código más optimizado, pero el código será correcto igualmente. Un saludo!!
Antes usaste objetos con con la forma procedimental ¿a eso se le puede llamar POO? o para que sea POO se tienen que usar Clases. ¡Gracias por el Curso Sensei y un saludo desde Venezuela!
Saludos Profe, al final del video metes los elementos dentro del ciclo foreach y así durante todo el curso, esto estaría creando una tabla por cada registro, no una única tabla para todos los registros no ?
Ya no recuerdo el código de este vídeo pero si es como tú dices, efectivamente crearía una tabla a cada vuelta de bucle. La solución sería fácil: sacar las etiquetas table del for-each dejando en este únicamente las tr y td. Un saludo!!
una consulta ¿si en vez de heredar de la clase conexión se crea un objeto o una instancia estaríamos ejecutando de la misma forma el constructor de la clase conexión?, siempre me da problemas el saber cuando usar la herencia, porque de igual forma si se crea una instancia de la clase se tiene acceso a sus métodos y atributos son pequeñas las cosas que cambian como el hecho de las variables protected y la sobre escritura de métodos.
Buenas Profesor :) quiero saber como puedo hacer una consulta preparada de busqueda con los caracteres comodines... busque y busque pero no encuentro referencias
Cuando usamos require "Conexion.php", por qué a veces utilizas los paréntesis y otras no? Cuál sería la forma correcta para el require?? muchas gracias
Creo que te falto cerrar la conexión echa a la BBdd de la tabla, supongo que debería de estar colocada al dentro de la función get_productos $this->conexion_db->close(); Saludos
Hola como estas ahora en 2020 es que estoy aca en este video me gustan mucho tus videos excelente.... me gustaria que me ayudaras a resolver un error que me lanza php con el catch $e->getCode() el error se genera cada vez que quiero resetear el ID en sql server, con esto se puede resetear el ID autoincrementable "DBCC CHECKIDENT (PRODUCTOS, RESEED,1)" en mi codigo yo coloque que al eliminar una fila con DELETE ejecute tambien el RESET del ID pero me genera error-> 23000 cuando quiero insertar un nuevo registro y tengo que recargar la pagina como 4 veces para que logre insertar el nuevo registro, me puedes dar una idea de como puedo resolver este problema que tengo. Solo me gustaría saber si alguna solución a esto..
Buen video, tengo una duda respecto a las clases que creaste. Es necesario abrir y/o cerrar las conexiones a la base de datos en los ejemplos de tu video? Saludos!.
Estimado tengo un problema al momento de que mi clase devuelvedatosproductos hereda de la clase conexion ya que cuando creo el metodo get_productos no me trae el constructor de la clase conexion y cuando utilizo el operador parent tampoco me muestra los constructores de la clase padre. Necesito de tu ayuda a ver que pudiera tener mal
Buenos días profesor!! espero pueda aclararme esta duda, lo que estabamos haciendo en los videos anteriores con la conexion con PDO, y mysqli usando las clases con el operador -> no era Programación Orientada a Objetos ya? es que como dices en este video que la vamos a comenzar a ver¿? que diferencia tiene además de que en este creamos nuestras propias clases?
Sí, efectivamente cuando utilizamos el operador -> estamos utilizando programación orientada a objetos. El tema es que no la estamos viendo en toda su extensión ya que la POO conlleva también utilizar características como la herencia, la encapsulación etc. Y eso es lo que se ve en la parte dedicada a la POO dee este curso. Un saludo!!
A quienes les de error en la parte de los constructores coloque public function __construct() { $this->conexion_db=new mysqli(DB_HOST, DB_USUARIO, DB_CONTRA , DB_NOMBRE); if ($this->conexion_db->connect_errno) { echo "Fallo al conectar a MYSQLI " . $this->conexion_db->connect_error; return; } $this->conexion_db->set_charset(DB_CHARSET); } }
me parece mucho mas dificil el metodo poo que el otro no se. si este metodo es casi igual que copiar y pegar pero con un monton de flechis -> -> => ->esto por aqui ->>> me vueve loco ::
hola buen dia gracias. tengo una pregunta si usamos los metodos costructores: function __construct() {} el codigo funcionaria igual o es cuestion de preferencias.
El código funcionaría igual. Es más, se debe usar function __construct() para crear los métodos constructores. Desde la reciente aparición de PHP 7, ha quedado oficialmente obsoleto crear un constructor con el mismo nombre de la clase. Un saludo!!
Estimado Maestro, esta es una petición especial para cuando llegue el momento de hacer el crud si es posible que nos permita modificar por ejemplo el país de un producto y que este este enlazado a una tabla de países con sus respectivos indices y así poder utilizar el select de html, yo lo estoy haciendo con todo lo que tu nos has explicado con una tabla clientes y cuidades pero no me resulta cuando intento modificar un campo de un select. saludos
ayer retome el tema y pude corregir el problema, no me actualizaba ya que la relación de las tablas estaba invertida, muchas gracias por tu preocupación en responder.
Hola! En dado caso que se requiera una conexión a un motor de base de datos diferente (Oracle, SQL Server, Postgres, etc.) que archivos serían lo que habría que modificar? Agradezco de antemano su respuesta. Slds.
Buen día profesor, el ejercicio no me quiere funcionar reviso una y otra vez y no encuentro el error; Voy a dejar el código aquí para ver si por favor profe me ayudas :( o algún compañero. Esta página no funciona localhost no puede procesar esta solicitud en este momento. HTTP ERROR 500 config.php ======================================== Conexion.php ==================================================== DevuelveProductos.php ============================================================= index.php Documento sin titulo
Hola el metodo fetch_all no me funciona prob con fetch_array y si funciona pero me repeti demasiadas veces la misma fila de la tabla cuando ejecuta el codigo,y en ningin momento los datos de la tabla estan repetidos
Sabe profe Juan he leido la documentacion... y dice que en PHP 7 se considera codigo OBSOLETO escribir el nombre de la clase para constructor de la clase... dice que se usa __construct para definir el constructor de la clase
Ok. Necesito urgentemente familiarizarme con NetBeans para poder acabar con buen resultado un Máster. Podrías, o sabrías indicarme algún enlace del que pueda tirar?. Un saludo.
+David Santacana Con PHP no tengo idea ahora mismo, pero Jesús Conde tiene cursos de Java donde utiliza NetBeans. Búscalo en RU-vid, lo encontrarás rápido. Un saludo
Buenas profesor: Estuve probando el codigo del video pero adaptándolo a otra tabla de personas mas no de productos, obviamente teniendo cuidado con los nombres de los campos. Sin embargo al momento de usar los echo que muestran los registros, coloque los nombres de los campos en mayúsculas y marca error, no muestra los resultados. La solución fué escribir correctamente los nombres de los campos tal cual están en la base de datos. Quiero decir que es sensible a las mayúsculas y minúsculas.
hola , me gustaría saber porque me sale este error al poner en carpetas diferentes los archivos por ejemplo yo creo la carpeta conexion y dentro de ella pongo el archivo conexion pero en el minuto que lo pongo en la pagina index con require me aparece en el navegador-------> require(../conexion/Conexion.php): failed to open stream: No such file or directory in C:\xampp\htdocs\ProgramacionOrientadaObjetos(POO)\MostrarTodo\Query.php on line 2, pero si pongo todos los archivos en la misma carpeta no me pasa eso
tengo un problema en los cursos POO desde el principio no se ven las herencias solo me marca un error en este caso coloque un error en el nombre de la tabla y no me manda error solo me manda el error en el index que podria ser
Oye quisiera preguntarte una cosa Estoy en 2do año de la Lic. en desarrollo de software Estoy en la utp que quedo en la posición 70 de mejores universidades Pero a mi la verdad me ha llamado mas la atención estudiar en la universad de granada España Quisiera tu consejo para prepararme desde ya para obtener mi postgrado en esa universidad Es muy duro entrar los extranjeros hay? Has escuchado si es demaciado dificil?yo hasta ahora soy disque el mas pro en el salon Pero es porque no solo me quedo con lo que me enseña la u sino que busco tutoriales y cursos en RU-vid como los tuyos sin contar que busco en foros y paginas Soy estudiante de B trabajo deves en cuando y habeces falto mucho o llego tarde etc y me preguntaba si sabras si esa u solo acepta estudiandes de pueras AMuchas gracias desde ahora
+jonathan dias Hola !! Pues siento no poder ayudarte con esto porque desconozco cómo trabaja la Universidad de Granada. Tampoco conozco a nadie que haya cursado allí. ¿De dónde eres? Un saludo
+pildorasinformaticas bueno soy de panama pero tranquilo en foros alomejor comentan algo al respecto porcierto sabes algo de progracion en android o ios talvez si es asi deberias hacer un curso del mismo; yo ya toy investigando en otros canales y eso pero jamas explican igual que tu solo dicen has esto luego esto ydespues esto pero jo te explican mucho el porque?
Hola, alguien sabe si hay manera de crear una tabla que muestre los resultados pero sin la necesidad de mezclar codigo de php con html? gracias de antemano
No, no sería lo mismo. Tal vez funcione pero todo dependerá desde donde quieras acceder a la función. Expliqué en el curso los modificadores de acceso (public, private, protected) con ejemplos. Si tienes dudas echa un vistazo a vídeos anteriores. Un saludo!
Profesor, es un gran maestro, he aprendito todo lo que se gracias a usted, tengo un problema, he probado todo lo que esta en mis capacidades, pero la linea. $resultado=$this->conexion_db->query("SELECT * FROM PRODUCTOS"); me saca el error Fatal error: Uncaught Error: Call to a member function query() on null gracias.
hola me da este error Parse error: syntax error, unexpected '$this' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST) in C:\xampp\htdocs\poo\conexion.php on line 10 en la linea 10 del archivo conexion.php tengo esto : $this->conexion_db=new mysqli(DB_HOST, DE_USUARIO, DB_CONTRA, DB_NOMBRE); AYUDAAA
Alguien tuvo el mismo inconveniente... Fatal error: Uncaught Error: Call to a member function query() on null in /opt/lampp/htdocs/html/distribuidora/poo/consulta.php:28 Stack trace: #0 /opt/lampp/htdocs/html/distribuidora/poo/index.php(9): resultadosProductos->obtieneProductos() #1 {main} thrown in /opt/lampp/htdocs/html/distribuidora/poo/consulta.php on line 28