Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

382
Vistas
Advertencia: mysqli_query() espera al menos 2 parámetros, 1 dado en C:\wamp64\www\OBJEPRO\dbcrud.php en la línea 10

Estoy creando un CRUD simple usando OOP, PHP, pero recibo errores cuando ejecuto add.php y el archivo de actualización y eliminación. El mismo error en todos los archivos (add.php, update.php, delete.php)

Aquí están los errores:

Aviso: índice no definido: ID_proveedor en C:\wamp64\www\OBJEPRO\add.php en la línea 12

Aviso: Índice indefinido: Company_Name en C:\wamp64\www\OBJEPRO\add.php en la línea 12

Advertencia: mysqli_query() espera al menos 2 parámetros, 1 dado en C:\wamp64\www\OBJEPRO\dbcrud.php en la línea 10

Aquí está el código en add.php

 <?php require_once("header.php"); require_once("dbcrud.php"); if (isset($_POST['submit'])) { } $dbcrud=new dbcrud; $result=$dbcrud->create($_POST['Supplier_ID'],$_POST['Company_Name']); if($result){ echo "<br />"; echo "Successfully added."; }else{ echo "<br />"; echo "Error!"; } ?> <p><h3>Add Supplier:</h3></p> <form action="" method="POST"> <p>Supplier ID: <input type="text" name="Supplier_ID"></p> <p>Company Name: <input type="text" name="Company_Name"></p> <p><input type="submit" name="submit" value="Save"></p> </form>

Y aquí está el código en dbcrud.php:

 <?php require_once("dbconn.php"); class dbcrud { public function __construct(){ $dbconn=new dbconn; } public function create($Supplier_ID, $Company_Name){ $result=mysqli_query("INSERT INTO suppliers(Supplier_ID, Company_Name) VALUES('$Supplier_ID','$Company_Name')"); return $result; } public function read(){ $result=mysqli_query("SELECT * suppliers"); return $result; } public function update($Supplier_ID, $Company_Name){ $result=mysqli_query("UPDATE suppliers SET Company_name='{$Company_Name}' WHERE Supplier_ID={$Supplier_ID}'"); return $result; } public function delete($Supplier_ID){ $result=mysqli_query("DELETE FROM suppliers WHERE Supplier_ID={$Supplier_ID}"); return $result; } } ?>

¿Alguien puede ayudarme?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La documentación de mysqli_query() establece claramente las dos alternativas de cómo usar ese método. Mezclas ambos, lo que no funcionará.

Ignorando una gran cantidad de otros problemas, me atrevo a decir que esta modificación de su clase lo acercará a lo que está buscando. Almacena el objeto de conexión de la base de datos dentro de una propiedad de clase para que pueda reutilizarse para las consultas reales.

 <?php require_once("dbconn.php"); class dbcrud { private $dbconn; public function __construct(){ $this->dbconn = new dbconn; } public function create($Supplier_ID, $Company_Name){ $result = mysqli_query( $this->dbconn, "INSERT INTO suppliers(Supplier_ID, Company_Name) VALUES('$Supplier_ID','$Company_Name')" ); return $result; } public function read(){ $result = mysqli_query( $this->dbconn, "SELECT * FROM suppliers" ); return $result; } public function update($Supplier_ID, $Company_Name){ $result = mysqli_query( $this->dbconn, "UPDATE suppliers SET Company_name='{$Company_Name}' WHERE Supplier_ID={$Supplier_ID}'" ); return $result; } public function delete($Supplier_ID){ $result = mysqli_query( $this->dbconn, "DELETE FROM suppliers WHERE Supplier_ID={$Supplier_ID}" ); return $result; } }

Sin embargo, esto es sólo parte de una solución. Realmente necesita trabajar con algunos tutoriales para aprender a codificar cosas de la base de datos. Por un lado, hay enormes implicaciones de seguridad en su código. Debe conocer los beneficios de usar "declaraciones preparadas" en combinación con "enlace de parámetros" para evitar la vulnerabilidad de inyección de sql.

Así que tome esto como un punto de partida, muchos otros problemas quedan sin respuesta...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda