我的問題對我來說似乎是一個相當小的問題,但是我找不到一個合適的解決方案。 設置:我有一個表'city_locations'與列'國家','城市','經度','緯度'。該國由2個字母的ISO代碼給出。我希望他們成爲全名。[PHP/MySQL]:在一個循環中編寫語句
爲此,我導入了表'countrycodes',其中只包含'name'和'code'列。
$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>";
}
我成功檢索(外)while循環中的所有對。
$ namechange-> execute();但是沒有做任何事情 - 我嘗試了使用和不使用while循環,試圖在查詢中使用LIMIT 0,10000(儘管我不完全確定我理解LIMIT是正確的)。在沒有while循環的情況下,語句不會執行任何操作。在限制爲0,10000的情況下,語句不能正確填寫(給出錯誤)。
我也試圖在while循環的每一步中綁定新的參數 - 似乎也沒有做任何事情。
從我的Web界面運行相同的命令時,它工作正常。但是,在這種情況下,我必須手動輸入所有200多個代碼。似乎有點多的工作。
非常感謝您的幫助, Kjeld。
編輯:$ con是mysqli類型。
這是mysqli。那麼,它會給我表中的第一個10.000還是第一個10.000我的查詢? –
它將從索引0 - > 10.000返回 – Pogrindis
您是否在使用PDO? –