같다 나는 다음과 같은 코드 유무 :PHP MySQL은 경우 다른 INSERT
<?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의 대답 작업을 시도하지만,이 오류가 점점 : 절에서 당신은 '사용자'를 목표 테이블을 지정할 수 없습니다 업데이트를
나는 이것을 데이터베이스에서 임의의 사용자를 선택하는 대회에 사용했지만 모든 사용자가 승자 열이 1 인 사용자가 있는지 확인해야하며 그렇지 않은 경우 무작위 사용자를 선택하고 그 사용자 우승자 열을 1로 업데이트하십시오.
도움을 주시면 감사하겠습니다.
두 가지 검색어 만 사용하는 이유는 무엇입니까? 그건 잘 작동하고, 당신은 복잡한 중첩 된 쿼리를 사용하지 않아도됩니다. – Crontab
왜냐하면 나는 어리 석다. :) 나는 두 개의 쿼리 경로를 시도했는데, 아마도 뭔가 잘못되었다. 몇 가지 예제 코드를 보여줄 수 있었습니까? –
mysql_ *을 사용하지 말고 mysqli_ * 또는 PDO를 사용하기 시작해야합니다. mysql_ *가 이제는 더 이상 사용되지 않습니다.더 많은 것을 읽으십시오 : http://www.php.net/manual/en/function.mysql-query.php –