2017-02-17 8 views
0

Я хочу вставить значение MAX +1 автоматически в текстовый ввод только для чтения, который затем будет отправлен в качестве запроса на вставку в мою базу данных.Вставка значения MAX +1 в текстовое поле

Я протестировал запрос в своей базе данных, и это правильный запрос и работает нормально.

Однако, когда я запускаю его в своей программе, он возвращает 1. Не уверен, что он возвращает 1, потому что он ИСТИНА или потому что это только то значение, которое оно получает.

Как я могу исправить это, чтобы получить правильное значение 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) '? Затем вы можете увидеть, действительно ли это true или просто целое число со значением 1. –

ответ

0

Попробуйте это следующим образом: только

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

Потому что ->execute() возвращается a (bool) см http://php.net/manual/de/pdostatement.execute.php

Но вы должны держать комментарии, о логике позади этого, от @RiggsFolly и других в виду :)

+0

Возможно, это может сработать, но как бы я эхо результата во входном? Прямо сейчас, если i echo $ result в 'value =" "', тогда таблица, которая у меня есть, и поле ввода не загружают – Rataiczak24

+0

@ Rataiczak24 Plz идут и используют '$ result' в правильном направлении, если это вам не приходит в голову себя, я действительно не сейчас.Когда вы делаете 'var_dump ($ result);' вы увидите, что вам нужно делать дальше. И это уже не так: «эховый результат - 1 в настоящее время» изучают кодирование для реального :-) – JustOnUnderMillions

+0

Прямо сейчас у меня есть значение «value =» "' В моем теге ввода ... если thats не то, что я должен делать, тогда как это должно выглядеть? Кроме того, это то, что 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); 

Кстати, как уже упоминалось в комментариях не очень хорошая идея вообще сделать это.

Смежные вопросы