Я новичок в php и mysqli и проходил через и пытался понять, как работает множество этих встроенных функций. Я прочитал документацию и много уроков / примеров.
У меня есть что-то вроде:
$conn = new mysqli(vars); <br />
$sql = "Select * from Users where name ='$name'";
$result = $conn->query($sql);
$pass = result->fetch_assoc()['Pass'];
//check password stuff
, которое работает нормально, однако, если я тогда попытаюсь использовать $result->fetch_assoc()['ID']
, оно возвращает ноль. Если я поменяю местами порядок ID и Pass, тогда id вернется, а pass вернется к нулю.
Я не понимаю, почему это так. Что я думаю (что явно неправильно), так это то, что результат должен хранить всю строку (что он и делает), а затем, когда я получаю ассо c, мне просто нужно извлечь данные из строки. Однако, кажется, это перезаписывает результат, когда я получаю ассо c. Что с этим?
Моя работа заключается в том, чтобы вызывать запрос несколько раз для каждой точки данных, которая мне нужна, чтобы начать сеанс и хранить переменные, и я знаю, что могу использовать подготовленные операторы, но я чувствую, что есть лучший путь, и я скучаю по нему.
Может кто-нибудь объяснить, пожалуйста?