2017-02-10 16 views
0

Привет, Я пытаюсь получить максимальный id из моей базы данных, используя одну строку кода.PHP получить максимальное значение из базы данных

Имейте этот код, который работает, однако я знаю, что есть лучший способ обойтись без использования трех строк кода. Еще одна вещь, которую я использую xammp для моей базы данных.

$result = @mysqli_query($connection, "SELECT MAX(Cust_ID) FROM customer"); 
$row = mysqli_fetch_row($result); 
$getlastID = $row[0]; 

Я надеялся, что кто-то может мне помочь, пожалуйста.

+2

Что случилось с использованием трех линий? Я буду больше беспокоиться об использовании подавления ошибок. – chris85

+0

Это не так, одна строка делает запрос, другие извлекают результат, а затем вы показываете ... вы можете изменить последние 2 строки с помощью этого '$ getlastID = mysqli_fetch_row ($ result) [0];', но это зависит от вашей версии PHP. Очевидно, вы можете поместить 'mysqli_query' внутри' mysqli_fetch_row (ЗДЕСЬ) 'и иметь всю одну строку. – matiaslauriti

+0

Их нет ничего плохого в использовании трех строк кода. Однако я просто хочу уменьшить количество кода, насколько это возможно. – Ahamed

ответ

0

Дело в том, что с mysqli есть три шага к тому, что вы делаете. Если вы использовали PDO, вы можете использовать fetchColumn, чтобы объединить последние два шага в один.

Просто ради аргумента, вы можете на самом деле объединить эти три строки кода в один, обертыванием запрос в выборки строк и непосредственно разыменования результат:

$id = mysqli_fetch_row(mysqli_query($connection, 'SELECT MAX(Cust_ID) FROM customer'))[0]; 

Я бы не рекомендую сделать это таким образом. Будет легче отладить ваш скрипт, если каждая из этих инструкций будет выполнена в отдельном заявлении. Меньше кода, как правило, лучше, но не за счет ремонтопригодности.


Кстати, следует избегать использования оператора контроля ошибок (@). Если есть ошибки, вы хотите узнать о них, чтобы вы могли справиться с ними, а не игнорировать их. Для этого могут быть некоторые действительные применения, но это, вероятно, не один из них.