一尘不染

MySQL PHP:检查行是否存在

mysql

这可能是一件容易的事,但是我是一个业余爱好者,事情对我来说并不奏效。

我只想检查$ lectureName显示的行是否存在。如果某行确实存在$ lectureName,我希望该函数返回“
assigned”(如果没有),则它应返回“ available”。这就是我所拥有的。我相当确定这是一团糟。请帮忙。

function checkLectureStatus($lectureName)
{
 $con = connectvar();
 mysql_select_db("mydatabase", $con);
 $result = mysql_query("SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName'");
  while($row = mysql_fetch_array($result));
  {
     if (!$row[$lectureName] == $lectureName)
     {
         mysql_close($con);
         return "Available";
     }
      else
     {
        mysql_close($con);
        return "Assigned";
    }
}

当我这样做时,所有返回的内容都是可用的,即使应该返回已分配的内容。


阅读 284

收藏
2020-05-17

共1个答案

一尘不染

这应该可以解决问题:将结果限制为1行;如果返回一行,$lectureName则为 Assigned ,否则为 Available

function checkLectureStatus($lectureName)
{
    $con = connectvar();
    mysql_select_db("mydatabase", $con);
    $result = mysql_query(
        "SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName' LIMIT 1");

    if(mysql_fetch_array($result) !== false)
        return 'Assigned';
    return 'Available';
}
2020-05-17