Ayuda con error en PHP (mysqli_error)

Iniciado por n00bcoder, Marzo 20, 2016, 03:53:42 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 20, 2016, 03:53:42 AM Ultima modificación: Marzo 20, 2016, 07:58:34 AM por EPSILON
Saludos, estoy programando una aplicación web
aquí va la parte del código que me tira el error.

Código: php
  public function registro($carnet,$nombre,$apellido,$email,$contrasena){
        $db = new Conexion();
        $SQL = $db->query("SELECT * FROM Usuario WHERE carnet = '$carnet' ");
        $registro = $db->recorrer($SQL);
        //se define nombre y apellido como un solo atributo
        $nombre = $nombre." ".$apellido;
       
        if($registro['Carnet'] != $carnet){
            //si no existe en la base dedatos se completa el registro
         $Consulta= "INSERT INTO Usuario (Carnet,Nombre,Email,Password,Carrera,Imagen) "
                 . "VALUES ('$carnet','$nombre','$apellido','$email','$contrasena','','')";
         
         $db->query($Consulta)or die(mysqli_error('sis_archivos'));
               
        }else{
            echo " ya existe alguien con tu carnet";
        }



Supongo que la parte del error se encuentra en el $Consulta en el query que inserta en la base de datos:
arrojándome el siguiente error:

Código: php
Warning: mysqli_error() expects parameter 1 to be mysqli, string given in C:\xampp\htdocs\Carpetas\Class\class.Acceso.php on line 38


De antemano agradezco...

Marzo 20, 2016, 12:26:48 PM #1 Ultima modificación: Marzo 20, 2016, 01:24:04 PM por Nobody
Buenas.

La solución sería cambiar esto...
Código: php
$db->query($Consulta)or die(mysqli_error('sis_archivos'));


... Por esto:
Código: php
$db->query($Consulta)or die($db->error);


Edito: Como vi otros errores - y tenía tiempo - re hice el código.

Código: php
<?php
function register($card, $name, $surname, $email, $passwd) /*public function in a class*/
{
$mysqli = new mysqli("localhost", "root", "toor", "database");

/* Check connection */
if ($mysqli->connect_errno)
{
die("An error occurred trying to connect to the database. (" . $mysqli->connect_error . ').'); // // Show MySQL errors only for debug.
}

$sql = $mysqli->query("SELECT * FROM `users` WHERE `card` = '$card'");
//$register = $mysqli->recorrer($sql); // This function does not exist (see num_rows below).
//$name = $name . " " . $surname; // Disable because the query below save both in different columns.

if ($sql->num_rows == 0) // Check if the I.D. card exists.
{
$sql = "INSERT INTO `users` (card, name, surname, email, passwd, job, image) "
. "VALUES ('$card', '$name', '$surname', '$email', '$passwd', '', '')";

$mysqli->query($sql) or die("An error occurred trying to do the query. (" . $mysqli->error . ').'); // Show MySQL errors only for debug.

echo ("* User added successfully.");
}
else
{
echo ("* An user already exists with your I.D. card.");
}

$mysqli->close();
}
?>

(P.D.: Lamento que esté en inglés, es que no me gusta programar en español xD).

Y el uso sería...
Código: php
register("MyCard", "John", "Smith", "[email protected]", "p4ssw0rd");

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta