PHP SQL-随机选择1行,其中ID=x

PHP SQL-随机选择1行,其中ID=x,php,mysql,database,random,Php,Mysql,Database,Random,我有一个MySQL数据库,我需要一个PHP来随机抽取一行。我已经成功地创建了 $query = "SELECT * FROM $usertable WHERE region='UK' ORDER BY RAND() LIMIT 1"; 这成功地随机抽取了一行;但是,它不限于region=2的情况 我需要能够: 当地区=英国时,随机拉动 当地区=英国或 这里实际上是另一个地区,例如,YK=约克郡 基本上,我需要它随机选择行,但仅当reg

我有一个MySQL数据库,我需要一个PHP来随机抽取一行。我已经成功地创建了

$query = "SELECT * FROM $usertable
          WHERE region='UK'          
          ORDER BY RAND() LIMIT 1";
这成功地随机抽取了一行;但是,它不限于region=2的情况

我需要能够:

当地区=英国时,随机拉动 当地区=英国或 这里实际上是另一个地区,例如,YK=约克郡

基本上,我需要它随机选择行,但仅当region=UK时

region是my fields/collumns之一的标签,UK是许多行的VARCHAR的内容

我已经把剩下的代码整理好了

我有一个简单的数据库和php,如下所示:

<?php
//Sample Database Connection Syntax for PHP and MySQL.
//Connect To Database
$hostname="carbonmarketing.db.9606426.hostedresource.com";
$username="MarketReadOnly";
$password="Read0nly1";
$dbname="carbonmarketing";
$usertable="ClientList";
$advertfooter = "advertfooter";
mysql_connect($hostname,$username, $password) or die ("<html>%MINIFYHTML4333ddb1f6ba50276851b9f9854a5c817%</html>");
mysql_select_db($dbname);
# Check If Record Exists
$query = "SELECT * FROM $usertable
          WHERE region='UK'          
          ORDER BY RAND() LIMIT 1";
$result = mysql_query($query);
if($result)
{
    while($row = mysql_fetch_array($result))
    {
        $advertfooter = $row["$advertfooter"];
        echo "$advertfooter";

    }
}
?>
但是,它只是随机抽取区域列的所有值


让我知道查看数据库是否有帮助。

使用您的区域制作和排列并内爆它们:

$query = "SELECT * FROM $usertable
          WHERE region IN ('UK','YK')          
          ORDER BY RAND() LIMIT 1";
$region = array('UK', 'YK');
$implode = implode("', '", $region);
$query = "SELECT * FROM `".$usertable."` WHERE `region` IN ('".$implode."') ORDER BY RAND() LIMIT 1";

使用您的区域制作和排列并内爆它们:

$region = array('UK', 'YK');
$implode = implode("', '", $region);
$query = "SELECT * FROM `".$usertable."` WHERE `region` IN ('".$implode."') ORDER BY RAND() LIMIT 1";

我不熟悉PHP和SQL,在我能走路之前就开始快速运行hahaI我不熟悉PHP和SQL,在我能走路之前就开始快速运行hahaahh我尝试过这个方法,但是$query=SELECT*FROM$usertable WHERE region IN UK,YK ORDER BY RAND LIMIT 1;您忘记了区域名称周围的单引号。啊,我尝试了这个方法,但由于$query=SELECT*FROM$usertable WHERE region IN UK,YK ORDER BY RAND LIMIT 1;您忘记了区域名称周围的单引号。