php - 查询发生时如何到 "close"数据库?

标签 php mysql

$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/

相关文章:

PHP 从数据库中获取数据

php - 在 PHP 中将变量声明为 "var $foo"或 "$foo"之间的区别?

php - 在通过 jQuery 上传到数据库之前,如何使用进度条和图像预览上传图像?

php - 使用 Codeigniter 制作面包屑的最佳方法是什么?

mysql - 使用 objection.js 将数组数据批量插入到 mysql 数据库中

php - 使用 PHP 将 DATE TIMESTAMP 值插入 MySQL

php - 如何将 JPG 图片保存为 4 :2:0 colorspace with Imagick?

php - Woocommerce 结帐自定义选择字段

MySQL\join 2 个表并在一列中显示 2 行的结果

php - 将 3 个表中的数据显示为菜单