php/mysql elseif挑战

php/mysql elseif挑战,php,mysql,Php,Mysql,我正在尝试两个不同的查询,它们各自都可以正常工作,但我希望出现这样的情况,即其中一个会出现在PHP的elseif语句中,或者有人有更好的解决方案。下面是第一个和第二个语句的代码 第一句话 $retvval = mysql_query( $sqql); $sqql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`, `Specialization`, `Professional Organi

我正在尝试两个不同的查询,它们各自都可以正常工作,但我希望出现这样的情况,即其中一个会出现在PHP的elseif语句中,或者有人有更好的解决方案。下面是第一个和第二个语句的代码

第一句话

$retvval = mysql_query( $sqql);
$sqql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND `name of doctor` LIKE 'Dr%'";
$retvval = mysql_query( $sqql);
if(! $retvval )
{
  die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retvval))
{
 echo "{$row['autoID']}.  "."Name of Doctor: <a href = \"{$row['webpage']}\">{$row['Name of Doctor']} </a><br>"
    ."Email: {$row['Email']} <br>". "Hospital of Practise: {$row['Hospital of Practise']}
    <br>". "State:  {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> ";
}
$retval = mysql_query( $sql);
$sql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND specialization = '$specialize' ";
 $retval = mysql_query( $sql);
 if(! $retval )
 {
  die('Could not get data: ' . mysql_error());
 }

 while($row = mysql_fetch_array($retval))
 {
echo "{$row['autoID']}.  "."Name of Doctor: <a href = \"{$row['webpage']}">{$row['Name of Doctor']} </a><br>"."Email: {$row['Email']} <br>". "Hospital of Practise:{$row['Hospital of Practise']}<br>". "State:  {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> ";
}
$retvval=mysql\u查询($sqql);
$sqql=“选择'autoID','Name of Doctor','Email','Hospital of practice','State`,
`专业化“,”专业组织“,”医生定位器“网页”`
其中state='$states'和'name of doctor'类似于'Dr%'”;
$retvval=mysql\u查询($sqql);
如果(!$retvval)
{
die('无法获取数据:'.mysql_error());
}
while($row=mysql\u fetch\u数组($retvval))
{
echo“{$row['autoID']}.”医生姓名:
“ “电子邮件:{$row['Email']}
”“执业医院:{$row['Hospital of practice']}”
““状态:{$row['State']}
”“专门化:{$row['Specialization']}
”; }
第二项声明

$retvval = mysql_query( $sqql);
$sqql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND `name of doctor` LIKE 'Dr%'";
$retvval = mysql_query( $sqql);
if(! $retvval )
{
  die('Could not get data: ' . mysql_error());
}

while($row = mysql_fetch_array($retvval))
{
 echo "{$row['autoID']}.  "."Name of Doctor: <a href = \"{$row['webpage']}\">{$row['Name of Doctor']} </a><br>"
    ."Email: {$row['Email']} <br>". "Hospital of Practise: {$row['Hospital of Practise']}
    <br>". "State:  {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> ";
}
$retval = mysql_query( $sql);
$sql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND specialization = '$specialize' ";
 $retval = mysql_query( $sql);
 if(! $retval )
 {
  die('Could not get data: ' . mysql_error());
 }

 while($row = mysql_fetch_array($retval))
 {
echo "{$row['autoID']}.  "."Name of Doctor: <a href = \"{$row['webpage']}">{$row['Name of Doctor']} </a><br>"."Email: {$row['Email']} <br>". "Hospital of Practise:{$row['Hospital of Practise']}<br>". "State:  {$row['State']} <br>" . "Specialization: {$row['Specialization']} <br> ";
}
$retval=mysql\u查询($sql);
$sql=“选择'autoID','Name of Doctor','Email','Hospital of practice','State`,
`专业化“,”专业组织“,”医生定位器“网页”`
其中state='$states'和specialization='$specialize';
$retval=mysql\u查询($sql);
如果(!$retval)
{
die('无法获取数据:'.mysql_error());
}
while($row=mysql\u fetch\u数组($retval))
{
echo“{$row['autoID']}.”医生姓名:
““电子邮件:{$row['Email']}
”“执业医院:{$row['Hospital']}
““州:{$row['State']}
”,“专科:{$row['Specialization'}
”; }
您可以这样做

$sql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND specialization = '$specialize' ";

$sqql = "SELECT `autoID`, `Name of Doctor`, `Email`, `Hospital of Practise`, `State`,
`Specialization`, `Professional Organization`, `webpage` FROM `doctor_locator`
WHERE state = '$states' AND `name of doctor` LIKE 'Dr%'";

$retval = (mysql_query($sqql) ? mysql_query($sqql) : mysql_query($sql));

if($retval){
      while loop
} 
else { 
      die(); 
}

这可以通过PDO实现:

/* Create new connection http://php.net/manual/en/pdo.construct.php */
$pdo = new Pdo($connectionString, $user, $pass);
/* Prepare the first query */
$statement = $pdo->prepare($sqql);
/* Without actually executing it, check if there is any error */
if ($statement->errorCode()) {
  /* If so, then prepare the second statement */
  $statement = $pdo->prepare($sql);
}

/* Execute it. It will be the first, if it was valid or the second, if the first was not valid. */
$statement->execute();

我不知道你到底想让它做什么?是否希望第二条语句仅在第一条语句失败时运行?您应该明确地修改代码缩进。创造奇迹!代码中没有elseif语句。你的意思是
如果(!$retvval)
?只需在SQL语句的末尾输入
xxx
,即可使其失败。使用
mysql\u num\u rows
检查查询中有多少个结果。但是请注意,
mysql\uuu
多年来一直被弃用,不再受支持。使用PDO或MySQLi。是的,我希望能够搜索其中一个information@h2oooooooo,这就是我需要您为我提供解决方案的原因。@anabisystems不是2个if语句,而是在一行if-else语句中生成$retval。