0
我有一個SELECT語句,根據其中一個字段的值抽取有限數量的項目。 (即ORDER BY率限制15)。我可以在PHP和度假村中更改SQL數組中的值嗎?
但是,我需要做一些比較,並改變比率的價值,隨後可以改變我想要的結果。
我可以拉一切(沒有限制),改變速度,重新排序,然後只處理我需要的數字。但是,我不知道是否有可能改變PHP結果數組中的值。我使用的是:
$query_raw = "SELECT dl.dragon_list_id, dl.dragon_id, dl.dragon_name, dl.dragon_level, d.type, d.opposite, d.image, dr.dragon_earn_rate
FROM dragon_list dl
LEFT JOIN dragons d ON d.dragon_id = dl.dragon_id
LEFT JOIN dragon_rates dr ON dr.dragon_id = dl.dragon_id
AND dr.dragon_level = dl.dragon_level
WHERE dl.dragon_id IN (
SELECT dragon_id
FROM dragon_elements
WHERE element_id = 3
)
AND dl.dragon_list_id NOT IN (
SELECT dh.dragon_list_id
FROM dragon_to_habitat dh, dragon_list dl
WHERE dl.user_id = 1
AND dh.dragon_list_id = dl.dragon_list_id
AND dl.is_deleted = 0
)
AND dl.user_id = " . $userid . "
AND dl.is_deleted = 0
ORDER BY dr.dragon_earn_rate DESC, dl.dragon_name
LIMIT 15;";
$query = mysqli_query($link, $query_raw);
if (!$query) {
echo "DB Error, could not query the database\n";
echo 'MySQL Error: ' . mysqli_error($link);
exit;
}
$d = mysqli_fetch_array($d_query);
你到底在問什麼?你想改變'$ d'中的值並將它們更新到數據庫中嗎?如果是這樣,你需要有單獨的SQL語句來更新數據庫。對PHP中結果集的更改不會自動返回到數據庫中。 – vhu
另外,看看https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – vhu
我不想更新數據庫本身。數據庫具有基本費率,我需要根據特定標準計算新費率。所以我不需要數據庫中的新速率,但是如果我可以改變結果數組,然後使用數組,並重置它,所以我的while循環將從頭開始,這將工作。 – Dizzy49