Mostrando entradas con la etiqueta manejo de errores. Mostrar todas las entradas
Mostrando entradas con la etiqueta manejo de errores. Mostrar todas las entradas

martes, 17 de julio de 2012

PHP y MySQLi: conexion con mysqli y manejo de errores

<?php
include "db.php";
$conexion = new mysqli($MYSQL_HOST, $MYSQL_LOGIN, $MYSQL_PASS, $MYSQL_DB);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$result = $conexion->query("select * from users");
echo "Num de filas al iniciar: ".$result->num_rows. "</br>";

while($row = $result->fetch_array(MYSQLI_ASSOC)){
    echo $row['name']." ";
}

echo "<hr>";

$conexion->autocommit(false);

try{

    $result = $conexion->query("INSERT INTO users (name, email) VALUES ('ambro', 'un email');");
        if(!$result) throw new Exception($conexion->error);
        
    echo "id usuario nuevo: ".$conexion->insert_id; //si
    echo "<hr>";

    $result = $conexion->query("INSERT INTO users_comments (id_user, TEXT) VALUES ({$conexion->insert_id}, 'un comentario del user {$conexion->insert_id}');");
        if(!$result) throw new Exception($conexion->error);

    echo "id comentario nuevo: ".$conexion->insert_id; //si
    echo "<hr>";

    $result = $conexion->query("INSERT INTO users_comments (id_user, TEXT) VALUES (85, 'un comentario del user asd');");
        if(!$result) throw new Exception($conexion->error);
            //throw new SqlException( mysqli_error( $connection ) );
        
    $conexion->commit();

}
catch(Exception $e){
    $conexion->rollback();
    die("error lo agarra el catch: <br>".$e->getMessage() );
}

?>