Моя проблема кажется довольно маленькой для меня, но я не могу найти правильное решение. Установки: У меня есть таблица «city_locations» со столбцами «страна», «город», «долгота», «широта». Страны выдаются 2-буквенными ISO-кодами. Я хочу, чтобы они были полными именами.[PHP/MySQL]: Подготовленный отчет в цикле
Для этого я импортировал таблицы «countrycodes» таблицы, содержащие только имена столбцов и «код».
$namechange = $con->prepare("UPDATE city_locations SET country=? WHERE country=?");
$list = $con->prepare("SELECT name, code FROM countrycodes");
$list->execute();
$list->bind_result($name, $code);
$namechange->bind_param('ss', $name, $code);
while ($list->fetch()){
while ($namechange->execute()) {}
echo "$code is now $name <br>";
}
Я успешно извлекаю все пары во внешнем цикле.
$ namechange-> execute(); однако ничего не делает - я пробовал его с циклом while и без него, пытался использовать LIMIT 0, 10000 в запросе (хотя я не совсем уверен, что правильно понимаю LIMIT). С циклом while и без него утверждение ничего не делает. С LIMIT 0, 10000 оператор не может быть предварительно препринтирован (дает ошибку).
Я также попытался связать params new на каждом шаге цикла while - тоже ничего не делал.
При выполнении той же самой команды из моего веб-интерфейса она работает нормально. Однако в этом случае я должен ввести все 200+ кодов вручную. Кажется, что много работы.
Большое спасибо за вашу помощь, Kjeld.
EDIT: $ con имеет тип mysqli.
Это mysqli. Итак, дайте мне первые 10.000 таблицы или первые 10.000, соответствующие моему запросу? –
он вернётся из индекса 0 -> 10.000 – Pogrindis
Вы используете PDO? –