选择时选择

问题描述 投票:-1回答:1

我有这个PHP脚本,

$sql = "SELECT * FROM chat";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
$msg_sender = $row['sender'];
}

}

而且我想知道如何在将值放入变量$ msg_sender时从另一个表中进行选择,例如:

function checkTeacher($userid) {

  $sql = "SELECT * FROM teachers WHERE id = $userid";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
      return 1;
    }

    }

}


$sql = "SELECT * FROM chat";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
$msg_sender = $row['sender'];
 if(checkTeacher($msg_sender) == 1) {
          echo 'User is teacher';
      }
}

}

但是由于某种原因,函数checkTeacher不会返回任何值,即使用户是老师,它也不会返回任何值,我知道代码可能不是最安全,最好的,但这只是示例之一我已经尝试过,我真的需要您的帮助,谢谢!

php mysql sql mysqli php-7
1个回答
0
投票

在您的函数checkTeacher中,没有必要进行内部循环,它足以计数num_rows

function checkTeacher($userid) {
  $sql = "SELECT * FROM teachers WHERE id = $userid";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
      return 1;
    } else {
      return 0;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.