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 –