Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Feliphe Felix

2 Ações na mesma Query

Recommended Posts

Eu queria fazer que uma Query fizesse duas ações ex: 1 Deletar tb_upgrade WHERE id='$id'", 2 UPDATE tb_users SET account='Free' where username='$username'

 

Código Abaixo:

 

 

if ($option=="deny"){

//Todo parece correcto procedemos con la inserccion
$queryz = "DELETE FROM tb_upgrade WHERE id='$id'";
mysql_query($queryz) or die(mysql_error());
echo "<font color=\"#cc0000\"><b>Avertise request has been deny.</b></font><br><br>";
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

As funções mysql_* estão marcadas como deprecated e em breve deixarão de funcionar, utilize a extensão mysqli.

 

A melhor forma de fazer como você deseja é utilizando transações, já que você precisa garantir que ambas as operações sejam executadas. Se uma falhar, a outra também não deve ser executada.

$dbConn = new mysqli('<host>', '<user>', '<password>', '<dbname>');
$dbConn->beginTransaction();

try {
    $stmt = $dbConn->prepare('DELETE FROM tb_upgrade WHERE username = ?');
    $stmt->bind_param('d', $id);

    $result = $stmt->execute();
    if ($result === false) {
        throw new Exception('Failed to execute query 1:'  . $stmt->$error);
    }

    $stmt = $dbConn->prepare('UPDATE tb_users SET account='Free'  WHERE username = ?');
    $stmt->bind_param('s', $username); //De onde vem $username???

    $result = $stmt->execute();
    if ($result === false) {
        throw new Exception('Failed to execute query 2: ' . $stmt->$error);
    }    $dbConn->commit();} catch (Exception $e) {
    $dbConn->rollback();
    throw $e;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.