我想将MAX +1值自动插入只读文本输入中,然后将其作为插入查询提交给我的数据库。
我已经在我的数据库中测试了查询,这是正确的查询并且工作正常。
然而,当我在我的程序中运行它时,它返回1.不确定它是否返回1,因为它是TRUE或因为它只是它得到的值。
如何解决这个问题,以便获得正确的MAX +1值?
SQL / PHP:
<?php
$max = "SELECT MAX(Group_ID) +1 FROM SKU_Group_Dim";
$stmt = $dbh->prepare($max);
$result = $stmt->execute();
//echo $result;
?>
输入最大+1值:
<input type="text" name="id" id="id" class="text ui-widget-content ui-corner-all" value="<?php echo $result; ?>" readonly>
答案 0 :(得分:0)
以这种方式尝试:
$max = "SELECT MAX(Group_ID) +1 FROM SKU_Group_Dim";
$result = $dbh->query($max);
var_dump($result);
由于->execute()
仅返回(bool),请参阅http://php.net/manual/de/pdostatement.execute.php
但你应该从@RiggsFolly及其他人那里继续评论这背后的逻辑:)
答案 1 :(得分:0)
$stmt->execute()
仅在函数执行结果时产生true的假。您需要单独获取结果并从结果集中提取数据。
类似的东西:
$stmt->execute()
$result = $stmt->get_result();
$row = $stmt->fetch_row($result);
顺便提一句,正如评论中所提到的根本不是一个好主意来做到这一点。