我用下面的要点作出OOP尝试创建数据库连接:PHP数据库表的创建失败
https://gist.github.com/jonashansen229/4534794
它似乎工作至今。
但是,创建数据库表的时候会失败。
编辑:
最近的意见和建议后,我更新了我的代码:
require_once 'Database.php'; // the gist 4534794
class DatabaseSchema {
public function createStudents() {
$db = Database::getInstance();
$mysqli = $db->getConnection();
$create_students = 'CREATE TABLE IF NOT EXISTS students (
id INT(6) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(40) NOT NULL,
lastname VARCHAR(40) NOT NULL,
university VARCHAR(50)
)';
$result = $mysqli->query($create_students);
}
public function createPassedExams() {
$db = Database::getInstance();
$mysqli = $db->getConnection();
$create_passed_exams = 'CREATE TABLE IF NOT EXISTS passed_exams (
id INT(6) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(40) NOT NULL,
student_id INT(6),
FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE
)';
$result = $mysqli->query($create_passed_exams);
}
}
$db_student = new DatabaseSchema();
$db_student->createStudents();
$db_student->createPassedExams();
当我在mysql控制台的外观,仅创建表的学生。 表为什么表失传?
$ db_student = new DatabaseSchema()最后缺少';'。 –
哦,男孩,谢谢@Arsh,完全被忽视。 – StandardNerd
不客气。 –