Как остановить неопределенную ошибку индекса из запроса SQL?

anArray[10][10] не является указателем на указатель, это непрерывный блок памяти, подходящий для хранения 100 значений типа double, который компилятор знает, как обращаться, поскольку вы указали размеры. Вам нужно передать его функции в виде массива. Вы можете опустить размер начального измерения следующим образом:

void f(double p[][10]) {
}

Однако это не позволит вам передавать массивы с последним измерением, отличным от десяти.

Лучшее решение в C ++ используется std::vector<std::vector<double> >: он почти такой же эффективный и значительно более удобный.

0
задан Amine KOUIS 3 March 2019 в 21:33
поделиться

2 ответа

Я знаю, что вы сказали, что не хотите использовать isset(), но я думаю, что это может быть то, что нужно, поскольку похоже, что вы пытаетесь получить доступ к элементу массива, который не существует.

while($row = $retid->fetch_assoc()) {
   $var1 = isset($row["var1"]) ? $row["var1"] : "";
   $var2 = isset($row["var2"]) ? $row["var2"] : "";
}

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

0
ответ дан AgileFox 3 March 2019 в 21:33
поделиться

Сделайте это

$ var2 = $ row ['var2'];

Убедитесь, что var2 является правильным именем столбца в таблице базы данных. Я не знаю, почему вы ставите закрывающую скобку ) в конце массива

0
ответ дан Kwaku amoh 3 March 2019 в 21:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: