1
基本上每24小時我的腳本將從table01中選擇10個隨機圖像,將數據存儲在一個單獨的table02中,然後這些數據可供我的用戶在這裏投票使用。如何結合選擇/更新準備好的語句?
經過24小時之後,腳本再次運行,並且應該使用table02中的數據更新table01,然後截斷table02從table01中選擇10個新圖片,並將數據存儲在table02中,然後再次用於投票。
是選擇10個隨機圖像
(這SQL是INSERT和SELECT)預處理語句
「兩個SQL中的一個,所以我不具備存儲數據之前,我用它」
$stmt = $dbCon->prepare(" INSERT INTO table02 "
. " (rating_daily_views, rating_daily_votes, rating_daily_rating, " rating_daily_category, rating_daily_imgId) "
. " SELECT views, votes, rating, category, id"
. " FROM table01 "
. " WHERE category IN (?) ORDER BY RAND() LIMIT 10 ");
$stmt->bind_param('i', $cat1);
$stmt->execute();
$stmt->close();
這是我的兩條語句,如果可能的話我會合併成一條語句?
Select語句
$stmt = $dbCon->prepare("SELECT rating_daily_views, rating_daily_votes, rating_daily_rating, rating_daily_imgId "
. " FROM table02 ");
$stmt->execute();
Update語句
$stmt = $dbCon->prepare(" UPDATE table01 SET "
. " views = ?, "
. " votes = ?, "
. " rating = ? "
. " WHERE id = ? ");
$stmt->bind_param('iii', $views, $votes, $rating, $id);
$stmt->execute();
$stmt->close();
我居然開始做一個while循環,我剛纔在這個例子中閱讀是不好的做法......我會研究這個,是否有任何理由你ssign t1,t2?這可以做任何事情,並按我的意願使用? –
事實上,這些是表別名,以避免寫完整的表名,可以是任何東西。 – Parfait
哇這實際上工作,真的很簡單,一個非常好的例子,謝謝aloooot –