当我删除创建表时,它正在工作,但是有可能在代码上执行此操作吗?
这是代码
$sql = "CREATE TABLE student (
student_id INT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
)
INSERT INTO student VALUE(1, 'Jack', 'biology')";
if ($connect -> query($sql) === TRUE) {
echo "New Table Created! <br><br>";
}
else {
echo "Error : " . $sql . " <br><br>" . $connect -> error . "<br><br>";
}
echo "Connected Successfully!";
这是我没有删除创建表时的错误
错误:创建表学生(student_id INT,名称VARCHAR(20),专业VARCHAR(20),PRIMARY KEY(student_id));插入学生值(2,'kate','sociology')
你的SQL语法有误;检查与你的MariaDB服务器版本相对应的手册以获取正确的语法,以在第8行的'INSERT INTO student VALUE(2,'kate','sociology')'附近使用
你的代码中有2种错别字:
丢失的 ”;” 在CREATE和INSERT语句之间。
INSERT语句使用VALUES,而不是VALUE。
$sql = "CREATE TABLE student (
student_id INT,
name VARCHAR(20),
major VARCHAR(20),
PRIMARY KEY(student_id)
);
INSERT INTO student VALUES (1, 'Jack', 'biology')";
除此之外,请检查官方文档中的mysqli Multiple语句和mysqli_multi_query(),如第一个文档中所述:
API函数mysqli_query()和mysqli_real_query()并未设置激活服务器中多个查询所需的连接标志。一个额外的API调用用于多个语句,以减少意外SQL注入攻击的可能性。
或者,你也可以更改代码以单独运行每个查询。
我首先发现了有关multi_query($ sql)的信息,由于所有回答我的问题的人,我将稍后再尝试!
请不要鼓励使用
mysqli_multi_query()
。显然,在这种情况下没有理由使用它。好的,非常感谢