-1
を失敗した結合表を更新しようとしたとき、私は、次のエラーを取得:外部キー制約がエラー
Notice: Undefined variable: id
Notice: Undefined variable: course_id
Cannot add or update a child row: a foreign key constraint fails (`school-project`.`students_courses`, CONSTRAINT `fk_courses` FOREIGN KEY (`course_id`) REFERENCES `courses` (`id`) ON DELETE CASCADE)0 Row inserted.
3つの表は以下のとおりです。
# Name Type Collation Attributes Null Default Comments Extra
1 id Primary Index int(11) No None AUTO_INCREMENT
2 student_id Index int(11) No None
3 course_id Index int(11) Yes NULL
# Name Type Collation Attributes Null Default Comments Extra
1 idPrimaryIndex int(11) No None AUTO_INCREMENT
2 name varchar(255) latin1_swedish_ci No None
3 phone varchar(20) latin1_swedish_ci No None
4 email text latin1_swedish_ci No None
5 image text latin1_swedish_ci No None
# Name Type Collation Attributes Null Default Comments Extra
1 idPrimaryIndex int(11) No None AUTO_INCREMENT
2 nameIndex varchar(20) latin1_swedish_ci No None
3 descr text latin1_swedish_ci No None
4 image text latin1_swedish_ci No None
コード:
function joinTable() {
global $connection;
$join_table_sql = "INSERT INTO students_courses (student_id, course_id)
VALUES ('$id', '$course_id')";
if ($connection->query($join_table_sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $join_table_sql . "<br>" . $connection->error;
}
}
何が欠けていますか?なぜ私はそれらのエラーを取得するのですか? 。
何の値$ idと$ course_idに入っていますか? これは対応するテーブルのstudent_idとcourse_idでなければなりません –
あなたの関数に$ idと$ course_idという名前の変数はありません。 PHPの可変スコープ – CBroe
ah yes:E_ALLにerror_reportingを設定し、display_errorsをオンにすると警告が表示されます(開発環境内) –