【发布时间】:2015-11-17 09:30:49
【问题描述】:
您好,我有一个代码可以检查username 是否存在,如果存在,我想将变量$var 设置为现有username 的当前accountID。如果username 不存在,我希望最新accountID 的MAX 增加。这是我的代码:
$checkUname = $conn->prepare("SELECT accountID from accounts WHERE username=?");
$checkUname->execute(array($_POST['txt_un']));
$row = $checkUname->fetch(PDO::FETCH_ASSOC);
if($row > 0) {
$var = $row['accountID'];
} else {
$getMax = $conn->query("SELECT MAX(accountID) as maxAccountID FROM accounts");
$row = $getMax->fetch(PDO::FETCH_ASSOC);
$maxID = $row['maxAccountID'];
$maxID++;
$var = $maxID;
}
$UpdateTable = $conn->prepare("UPDATE otherTable SET someField=? WHERE otherTableID=?");
$UpdateTable->execute(array($var, $_POST['tableID']));
现在我的问题是,如果 2 个或更多用户同时点击并运行上面的代码怎么办? incrementing ID 会不会有问题?
【问题讨论】: