以下は私のコードです。既に存在するユーザーを挿入しようとすると、クエリは 1 行を返し、スクリプトは正常に動作します。ただし、クエリがゼロ行を返すと、スクリプトは以下のコードで「STOPS HERE」とコメントされているポイントで停止します。私は問題を本当に理解していません。私はphpが初めてです。ifs の外側の echo ステートメントでさえ実行されません。
<?php
session_start();
$_SESSION["error"] = "";
include "dbconnection.php";
$_SESSION["validUser"] = 4;
$validUser = $_SESSION["validUser"];
extract($_POST);
if($courseSession == ""){
echo "You must Select a course session ";
}
else {
$query = "SELECT * FROM courses WHERE student = $validUser AND course='$courseSession'";
$result = mysql_query($query, $db) or die(mysql_error($db));
if(!$result){
echo " no results have been returned testing "; // used for testing
}
else {
echo " Results returned but don't understand \n Number rows = "; // used for testing
echo mysql_num_rows($result);
} //STOPS HERE, here is where the script stops after query above returns 0 row.
$check = mysql_num_rows($result) or die(mysql_error($db));
echo " after check course ";
if($check){
echo "You have already registered for this session ";
}
else if(!$check){
$query = "INSERT INTO courses
(course, student, groupId)
VALUES
('$courseSession', '$validUser', '$group')";
$res = mysql_query($query, $db) or die(mysql_error($db));
if(!$res){
echo "Error Registering Course ";
}
else{
echo "Successfully registered for this session ";
}
}
}
echo " TESting testing ";
?>