$database->count = "SELECT * FROM table WHERE item_id = 1"
if($database->count == 1)
{
$database->update = "UPDATE users SET money = money - 1000";
$database->delete = "DELETE table WHERE item_id = 1";
}
假设我在 index.php 页面中有这段代码(我刚刚创建了它)。能否同时发生 "SELECT * FROM table WHERE item_id = 1"
查询,这样两个人就会得到计数 1 和 -1000 的钱?如果是,我该如何避免?
谢谢。
最佳答案
如果您担心同时运行的两个查询会导致数据库中的状态不平衡,您应该使用事务:http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-transactions.html
事务有助于保持数据状态正确。
关于php - 查询发生时如何到 "close"数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5637871/