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() );
}

?>

No hay comentarios:

Publicar un comentario