如何在php中使用事务来执行多个查询但阻止SQL INJECTIONS

时间:2015-08-13 17:52:27

标签: php transactions

我正在尝试使用mysqli :: multi_query在同一时间执行两个sql查询,它可以工作。使用这种方法我不会阻止SQL注入。准备好的语句不支持Multi_query方法,所以我在Internet上搜索了要做什么而不是这个。" TRANSACTIONS" 是解决方案。我写了这样的代码,但它不起作用。这些查询都没有执行。我希望他们在同一时间执行。谁能告诉我哪里错了?

<?php   
 $conn = new mysqli('localhost', 'root', '', 'security') 
 mysqli_autocommit($conn, FALSE); 

 $sql = 'update users set name=?,surname=?,nickname=?,rfidcode=? where rfidcode=?';
 $sql2="delete from access_rights where users_rfidcode=?";

 $stmt = mysqli_prepare($conn, $sql);    
 mysqli_stmt_bind_param($stmt, 'sssss', $name,$surname,$nickname,$rfid,$rfidcode);

 $stmt1 = mysqli_prepare($conn, $sql2);    
 mysqli_stmt_bind_param($stmt1, 's', $rfidcode);

 mysqli_stmt_execute($stmt);
 mysqli_stmt_execute($stmt1);
?>

查询是可以的,因为我已经测试了它们并且它们工作正常。问题出在哪里?

0 个答案:

没有答案