Foros del Web » Programando para Internet » PHP »

PHP OO Duda insert con php y mysql

Estas en el tema de Duda insert con php y mysql en el foro de PHP en Foros del Web. Buenas tardes, estoy intentando hacer un ejercicio que consiste en un gestor de autobuses, intentando dar de alta nuevos autobuses mediante un formulario. Os adjunto ...
  #1 (permalink)  
Antiguo 09/11/2017, 12:35
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 7 meses
Puntos: 0
Duda insert con php y mysql

Buenas tardes, estoy intentando hacer un ejercicio que consiste en un gestor de autobuses, intentando dar de alta nuevos autobuses mediante un formulario. Os adjunto el código y mis dudas a ver si podéis ayudarme:

El formulario donde se introducen los datos:

Código HTML:
<form action="funciones.php" method="post">

        <label for="Nombre">Nombre</label>
        <input type="text" name="Nombre" value="" id="Nombre" />

        <label for="Color">Color</label>
        <input type="text" name="Color" value="" id="Color" />

        <label for="Capacidad">Capacidad</label>
        <input type="text" name="Capacidad" value="" id="Capacidad" />

        <input type="submit" name="alta" value="Dar de alta"/>

        <div class="clearfix"></div>

</form> 
El archivo funciones.php y la función para insertar un nuevo autobús:


Código PHP:
function altaAutobuses(){
    
$nombre $_POST["Nombre"];
    
$color $_POST["Color"];
    
$capacidad $_POST["Capacidad"];
    
$autobus = new Autobuses($nombre$color$capacidad);
    
conexionBD($autobus->consulta());
    
header('Location:ver_autobuses.php');

Aquí la clase autobús, para ver la función consulta() que es la que pasa la consulta a MySQL:


Código PHP:
class Autobuses{

private 
$nombre;
private 
$color;
private 
$capacidad;

    function 
__construct($nombre$color$capacidad){
        
$this->nombre->$nombre;
        
$this->color->$color;
        
$this->capacidad->$capacidad;
    }

    public function 
consulta(){
        
$consulta "INSERT INTO autobuses (Nombre,Color,Capacidad) VALUES ('".$this->nombre."','".$this->color."','".$this->capacidad."')";
        return 
$consulta;
    }

La cuestión es que tengo otro archivo para ver los autobuses que hay en la base de datos, y si que muestra los autobuses en pantalla, por lo que la conexión a la base de datos funciona, y si agrego un nuevo autobús en PHPMyAdmin también lo muestra, así que no hay duda de que la conexión a la base de datos va bien. No entiendo que está fallando, he probado a cambiar las variables de la funcion consulta() del autobús y poner palabras directamente, pero no llega a conectar con la base de datos, en cambio, pongo la peticion "SELECT * FROM autobuses" y si que me muestra el contenido de la base de datos....

Además, pruebo a hacer un echo con las variables que paso por el formulario, y las escribe en pantalla, por lo que las está recibiendo. Entiendo que el problema está en la escritura de datos nuevos en la base de datos de PHPMyAdmin...

Muchas gracias y un saludo.
  #2 (permalink)  
Antiguo 09/11/2017, 14:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 305
Antigüedad: 14 años, 6 meses
Puntos: 29
Respuesta: Duda insert con php y mysql

activa los logs para ver que esta fallando
  #3 (permalink)  
Antiguo 09/11/2017, 18:16
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 9 meses
Puntos: 263
Respuesta: Duda insert con php y mysql

estas seguro de que esto esta bien????

Código PHP:
Ver original
  1. public function consulta(){
  2.         $consulta = "INSERT INTO autobuses (Nombre,Color,Capacidad) VALUES ('".$this->nombre."','".$this->color."','".$this->capacidad."')";
  3.         return $consulta;
  4.     }

donde esta el enlace de condeccion a la base de datos, pòr ehemplo:

Código PHP:
Ver original
  1. public function consulta(){
  2.         $consulta = $this->db->query("INSERT INTO autobuses (Nombre,Color,Capacidad) VALUES ('".$this->nombre."','".$this->color."','".$this->capacidad."')");
  3.         return $consulta;
  4.     }

donde $this->db->query realiza la conexion a la base de datos para ejecutar la query por ejemplo!!!!
__________________
[email protected]
HITCEL

Etiquetas: formulario, insert, mysql, nombre, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.