データベースから列を選択し、データベースにデータを挿入できるように、mysqli と php を使用しています。mysqli を調査しているときに、行数が 0 に等しいかどうかを確認する前に、while($stmt->fetch()) {
ここで、SELECT と他の INSERT 用のコード ブロックが必要なため、while fetch ループがコード全体をラップすることを想定しているのか、それともコードの SELECT ブロックとコードの INSERT ブロックをラップすることを想定しているのかを知りたいと考えています。別々に?
アップデート:
$query = "SELECT TeacherAlias FROM Teacher WHERE TeacherAlias = ?";
// prepare query
$stmt=$mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s",$getid);
// execute query
$stmt->execute();
// get result and assign variables (prefix with db)
$stmt->bind_result($dbTeacherAlias);
//get number of rows
$stmt->store_result();
$numrows = $stmt->num_rows();
$results = $stmt->fetch_all();
foreach ($results as $row) {
if ($numrows == 0){
// don't use $mysqli->prepare here
$query = "SELECT TeacherUsername FROM Teacher WHERE TeacherUsername = ?";
// prepare query
$stmt=$mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s",$getuser);
// execute query
$stmt->execute();
// get result and assign variables (prefix with db)
$stmt->bind_result($dbTeacherUsername);
//get number of rows
$stmt->store_result();
$numrows = $stmt->num_rows();
$results = $stmt->fetch_all();
}
foreach ($results as $row) {
if ($numrows == 0){
// don't use $mysqli->prepare here
$query = "SELECT TeacherEmail FROM Teacher WHERE TeacherEmail = ?";
// prepare query
$stmt=$mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s",$getemail);
// execute query
$stmt->execute();
// get result and assign variables (prefix with db)
$stmt->bind_result($dbTeacherEmail);
//get number of rows
$stmt->store_result();
$numrows = $stmt->num_rows();
$results = $stmt->fetch_all();
}
}
}
}