MySQLi查询上的多个命令不起作用?



如果我写这样的查询:

$conn = new mysqli($db_host, $db_username, $db_password, $db_database);
$conn -> query ("
DROP TABLE IF EXISTS for_search;
CREATE TABLE IF NOT EXISTS for_search
(
id INT,
for_search TEXT
);
");
$conn -> close();

它不起作用,但如果我像这样重写它:

$conn = new mysqli($db_host, $db_username, $db_password, $db_database);
$conn -> query ("
DROP TABLE IF EXISTS for_search;
");    
$conn -> query ("
CREATE TABLE IF NOT EXISTS for_search
(
id INT,
for_search TEXT
);
");
$conn -> close();

它会起作用的! 我想知道为什么我不能在 MySQLli 中编写多行查询?

在Mysqli中,您应该使用multi_query来运行多个查询:

$conn = new mysqli($db_host, $db_username, $db_password, $db_database);
$conn -> multi_query ("
DROP TABLE IF EXISTS for_search;
CREATE TABLE IF NOT EXISTS for_search
(
id INT AUTOINCREMENT,
for_search TEXT
);
");
$conn -> close();

最新更新