2017-02-17 77 views
0

我想将MAX + 1值自动插入只读文本输入,然后将其作为插入查询提交给我的数据库。在文本框中插入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

什么显示''echo $ result;'目前? – JustOnUnderMillions

+0

回显的结果是'1'目前 – Rataiczak24

+0

已尝试过'var_dump($ result)'或'print_r($ result)'?然后你可以看到它是真的还是只是一个整数值为1. –

回答

0

试试这样:只有

$max = "SELECT MAX(Group_ID) +1 FROM SKU_Group_Dim"; 
$result = $dbh->query($max); 
var_dump($result); 

因为->execute()回报一个(布尔)看到http://php.net/manual/de/pdostatement.execute.php

但你应该保持的意见,关于这背后的逻辑,从@RiggsFolly并考虑其他:)

+0

这可能会工作,但我怎么会在输入中回应结果?现在,如果我在$ value =“”中回显$ result,那么我有的表格和输入框不会加载 – Rataiczak24

+0

@ Rataiczak24 Plz,并以正确的方式使用'$ result',如果这不符合您的想法你自己,我现在不真的。当你做'var_dump($ result);'你会看到你接下来要做的事情。现在不再是了:'当前回显的结果是'学习编码为真:-) – JustOnUnderMillions

+0

现在我在输入标记中有'value =“<?php echo $ result;?>”'...如果那样不是我应该做什么,那么它应该如何看待?这也就是var_dump看起来像'object(PDOStatement)#2(1){[“queryString”] => string(42)“SELECT MAX(Group_ID)+1 FROM SKU_Group_Dim”} ' – Rataiczak24

0

$stmt->execute()仅产生虚假的功能执行结果真实。您需要单独获取结果并从结果集中提取数据。

喜欢的东西:

$stmt->execute() 
$result = $stmt->get_result(); 
$row = $stmt->fetch_row($result); 

顺便说一句,作为在评论中提到根本一个非常好的主意来做到这一点。

相关问题