Используя константу MYSQLI_ASSOC
, ваш код будет вести себя идентично mysqli_fetch_assoc()
, в то время как MYSQLI_NUM
будет вести себя идентично функции mysqli_fetch_row()
, которая, я думаю, вам нужна.
Попробуйте использовать MYSQLI_NUM
.
Кроме того, убедитесь, что вы проверили, успешно ли выполнен запрос, прежде чем пытаться извлечь из него строки, измените $res = $stmt->get_result();
на:
if(!$res = $stmt->get_result()){
die($db->error);
}
Существуют общие примеры использования, которые требуют, чтобы передача (или хранение) блок кода была выполнена позже. Наиболее распространенными были бы слушатели события. Хотите верьте, хотите нет, следующий бит кода использует конструкцию выхода лямбды в Java:
JButton button = new JButton("Push me!");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Pressed!");
}
});
анонимный внутренний класс действует как лямбда, хотя чрезвычайно подробная. С определенным неявным волшебством преобразования мы можем записать следующий эквивалент в Scala:
val button = new JButton("Push me!")
button.addActionListener { e =>
println("Pressed!")
}
C# делает этот вид вещи довольно легким с делегатами и (еще лучшими) лямбдами.
В случае C# лямбды используются внутренне для реализации LINQ. См. статью Эволюция LINQ И Его Влияние На Дизайн C#
C# не идет для чистоты в конкретную школу дизайна языка (в отличие от Java, который был разработан Smalltalker, чтобы быть чем-то вроде чистого языка OO). C# идет для all-things-to-all-people, и это довольно хорошо в нем. C# базируется вокруг сбора лучшего из различных стилей программирования на один высококачественный, хорошо-поддерживаемый-язык. Это включает процедурный, объектно-ориентированный, функциональный, динамичный, логика, и т.д. стили программирования. Очевидно, до сих пор это не имеет многого в способе динамических или логических стилей программирования, но это должно скоро прибыть (динамическое программирование, идущее с C# 4.0).
Синтаксический Сахар.
Это обеспечивает удобное и более - читаемый способ представить идею, в этом случае крошечный одноразовый метод. Под капотом компилятор разворачивает это до делегата и вызова метода, но это - вещь, делающая работу, не Вас.
Я вижу лямбды в C# как очень удобный ярлык для того, чтобы сделать делегатов. Намного более читаемый, чтобы иметь код тут же, где это используется вместо того, чтобы иметь необходимость искать в другом месте определение делегата.
Лямбда допускает больше читаемого кода в этом, они позволяют операциям быть определенными ближе на грани использования, а не как текущий метод C++ использования функциональных объектов, определение которых иногда далеко от точки использования. (Это не включает некоторые библиотеки повышения). Я думаю, что ключевой пункт от лямбд - то, что они позволяют более краткий и легкий понять код.
Лямбды позволяют Вам, пишут меньше подробного, более выразительного кода. Например, понимания списка ...
BTW, работа идет полным ходом для исследования возможности добавляющих закрытий к Java - тем временем необходимо использовать анонимные классы, вместо этого (ужасные).