【发布时间】:2019-08-13 08:35:30
【问题描述】:
我准备了一个 php 函数,它连续获取 MAX 值,然后将“1”添加到数字中。这样每当我注册一个新阶段时,它都会为要注册的下一个阶段准备 MAX 值。只要 MAX 值未达到数字“10”,该功能一切正常。当它达到'10'时,MAX值不会改变,无论我是否添加新阶段,该值都保持在10。
请你帮我看看这里出了什么问题。
这里是代码:
$query = "SELECT MAX(pstage_num) as latest_level FROM pstage
WHERE course = :course";
$stmt = $conn->prepare($query);
$course= sanitize($course);
$stmt->bindParam("course", $course);
$stmt->execute();
$outcome = $stmt->fetch(PDO::FETCH_ASSOC);
return intval($outcome['latest_level'])+1;
这是我的 sanitize() 函数:
function sanitize($in = null) {
return filter_var($in, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
}
【问题讨论】:
-
你能显示
pstage的表定义吗?更具体地说,pstage_num列的定义。 -
我无法理解为什么您不能在表定义中将 pstage_num 标记为自动增量...
-
您尝试过什么调试问题?这看起来确实很奇怪。为什么你要通过自己的代码和准备好的语句来清理你的数据?
-
这是一个新手的怪人,兄弟。
标签: php mysql function max increment