[ Foro de PHP ]

problemas con registros en base de datos en php

20-Jun-2022 04:58
Martin Joel Benitez
0 Respuestas

hola sepan disculpar las molestias esta vez me encuentro con un problema al registrar productos en una base de datos lo estoy haciendo desde un formulario php llamado Formulario_insertar_Registros.php cuando quiero ingresar los productos me salta un error ya que lo estoy haciendo por preguntas preparadas no se si me especifico el ejercicio se llama 23 Consultas preparadas Insertar registros en MySql y el ejercicio se trata de usar funciones para evitar inyeccion sql y el error me ocurre cuando quiero ingresar un producto y me dice Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, bool given in C:\wamp64\www\Curso PHP\resultados_insertar_registros.php on line 28 y el segundo error me dice  Warning: mysqli_stmt_execute() expects parameter 1 to be mysqli_stmt, bool given in C:\wamp64\www\Curso PHP\resultados_insertar_registros.php on line 29  ya trate de buscar informacion pero sin exito hasta el momento aqui les envio los codigos de ambos archivo con el formulario no presenta problema alguno pero con el archivo resultados_insertar_registros.php en la lineas 28 y 29 si no logro entender ya que segun entiendo espera un parametro devido a que en la base de datos poseo 7 campos yo le ingreso 7 interr0gantes que seran las variables de donde el usuario ingresa los datos y son rescatados por medio del metodo $_GET que provienen del formulario aqui les
envio el el codigo de cada archivo utilizados para que me puedan ayudar con algun metodo para encontrar algo que me lleve a entender el problema se los agradeceria un monton asi ya podria continuar con el siguiente ejercicio de php conexion a BBDD con POO
Formulario insertar Registros:
<body>
<h1>Alta de articulos nuevos</h1>
<form action="resultados_insertar_registros.php" method="get">
<table>
<tr><td width="106">
<label>Código Artículos:</label></td><td width="211"><input type="text" name="c_art"></td></tr>
   <tr><td><label>Seccion:</label></td><td><input type="text" name="secc"></td></tr>
   <tr><td><label>Nombre Artículo:</label></td><td><input type="text" name="n_art"></td></tr>
   <tr><td><label>Precio:</label></td><td><input type="text" name="pre"></td></tr>
   <tr><td><label>Fecha:</label></td><td><input type="text" name="fec"></td></tr>
   <tr><td><label>Importado:</label></td><td><input type="text" name="imp"></td></tr>
   <tr><td><label>País de Origen:</label></td><td><input type="text" name="p_orig"></td></tr>
   <tr><td colspan="2" align="center" id="boton"><input type="submit" name="enviando" value="¡Dale!"></td></tr>
   </table>
   </form>
</body>

resultados_insertar_registros.php :
<body>
<?php
$c_art=$_GET["c_art"];
$secc=$_GET["secc"];
$n_art=$_GET["n_art"];
$pre=$_GET["pre"];
$fec=$_GET["fec"];
$imp=$_GET["imp"];
$p_orig=$_GET["p_orig"];
require("Datos_conexion.php");
$conexion=mysqli_connect($db_host,$db_usuario,$db_contra,$db_nombrebd);
if(mysqli_connect_errno()){
echo "Error al conectar con la BBDD";
exit();
}
mysqli_set_charset($conexion,"utf8");
mysqli_select_db($conexion,$db_nombrebd) or die ("No se encuentra BBDD");
$sql="INSERT INTO productos
(CODÍGOARTÍCULO,SECCIÓN,NOMBREARTÍCULO,PRECIO,FECHA,IMPORTADO,PAÍSDEORIGEN) VALUES (?,?,?,?,?,?,?)";
$resultado=mysqli_prepare($conexion,$sql);
$ok=mysqli_stmt_bind_param($resultado,"sssssss",$c_art,$secc,$n_art,$pre,$fec,$imp,$p_orig);
$ok=mysqli_stmt_execute($resultado);
if($ok==false){
echo "Error al ejecutar la consulta";
}else{
//$ok=mysqli_stmt_bind_result($resultado,$codigoart,$seccion,$precio,$paisorig);
echo"Agregado nuevo registro";
/*while(mysqli_stmt_fetch($resultado)){
echo $codigoart ." ". $seccion . " " . $precio . " " .$paisorig . "<br>";
}*/
mysqli_stmt_close($resultado);
}
?>
</body>
Aclaro que las lines comentadas dentro del else son provenientes de el ejercicio anterio y no me serviran segun el que esta dando el curso que estoy tomando desde yautube y es de pildoras informaticas en el curso php en el video 50 que se trata de Consultas preparadas Insertar registros en MySql para mas informacion de como se esta manejando este ejercicio desde ya muchas gracias por su enorme atencion espero con ansias respuesta alguna para comprender cual fue mi error y asi seguir aprendiendo php atentamente martin joel benitez




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...