私は次のコードを持っています:
<?php
error_reporting(E_ALL);
// connect to your MySQL database here
$dbhandle = mysql_connect('xxx', 'xxxx', 'xxxx');
$selected = mysql_select_db("xxxx",$dbhandle);
// Get the winner data
function setWinner(){
$sql = 'UPDATE user SET winner = 1 WHERE id=(SELECT id FROM user ORDER BY RAND())';
$query = mysql_query($sql) or die (mysql_error());
echo $query;
}
// Get the winner data
function getWinner()
{
$sql = 'SELECT id, fullname, email, number FROM user WHERE winner = 1';
$query = mysql_query($sql) or die (mysql_error());
if(mysql_num_rows($query) == 1) {
$user = mysql_fetch_assoc($query);
} else {
// If there is no winner yet, automatically create one
setWinner();
// Recall the function which should now find a winner
$user = getWinner();
}
return $user;
}
$winner = getWinner();
print_r($winner);
?>
g4vroche の回答を操作しようとしていますが、このエラーが発生します: FROM 句で更新するターゲット テーブル 'ユーザー' を指定できません
これをコンテストで使用してデータベースからランダムなユーザーを選択しましたが、すべてのユーザーを調べて、勝者の列が 1 に等しいユーザーがいるかどうかを確認する必要があり、存在しない場合はランダムなユーザーを選択する必要がありますそのユーザーの勝者列を 1 で更新します。
どんな助けでも大歓迎です。