Я думаю, что у большинства людей были серьезные проблемы с введением значения/данных в базу данных (mysql). Когда я вставляю значение в базу данных, я назначаю уникальный идентификатор (INT) для этой строки. Когда я запрашиваю базу данных, я могу читать/изменять/удалять эту строку.Структура базы данных mysql (уникальный идентификатор)
С функцией for() (в php), я легко могу считывать значения/данные из базы данных. Проблема возникает, когда я удаляю строку (например, в середине).
Например:
БД:
ID | column1 | column2 | ... | columnN
--------------------------------------
1 | abcdefgh | asdasda | ... | asdasdN
2 | asdasddd | asdasda | ... | asdasdN
...
N | asdewfew | asddsad | ... | asddsaN
PHP:
for($i = 0; $i <= $n; $i++){
$sql = mysql_query("SELECT * FROM db WHERE ID = '$i' ");
//Code;
}
* $ п = последнее значение столбца из ID
Am Мне нужно реорганизовать всей базы данных, чтобы иметь правильную "f низкий "(1, 2, 3, .. n)? Или мне нужно ОБНОВИТЬ каждую ячейку?
ваш $ я переменная, начиная с нуля, так что, во-первых выполнения этой команды: 'SEELCT * FROM дб ГДЕ ID = 0'. CAn вы пытаетесь с этим для цикла: 'for ($ i = 1; $ i <$ n + 1; $ i ++)' – Eray
Вы не должны повторно запрашивать базу данных внутри цикла, если знаете фиксированные идентификаторы, которые вам нужно получить вперёд времени, поскольку это создает значительные накладные расходы для вашего скрипта. Вместо этого запросите базу данных один раз, чтобы получить все результаты и выполнить цикл по набору результатов. – rdlowrey
Расширение mysql устарело и на пути к устареванию. Новый код должен использовать mysqli или PDO, оба из которых имеют важные преимущества, такие как поддержка подготовленных операторов. – outis