Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2017, 12:35
Viturbiko
 
Fecha de Ingreso: septiembre-2014
Mensajes: 72
Antigüedad: 9 años, 8 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.