[英]How to run several queries in a single query?
DELETE FROM Table WHERE TableR = '1';
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '1', 'test1');
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '2', 'test2');
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '3', 'test3');
对于连接,我们使用代码:
$mysqli = new mysqli($this->MysqlHost,$this->MysqlUser,$this->MysqlPassword,$this->MysqlDatabase);
$result = $mysqli->query("SET NAMES utf8");
$result = $mysqli->query("set character_set_client='utf8'");
$result = $mysqli->query("set collation_connection='utf8_general_ci'");
$result = $mysqli->query($query);
现在我们需要使用几个查询来运行所有查询。
但我想只运行一个查询,即:
$query = "
DELETE FROM Table WHERE TableR = '1';
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '1', 'test1');
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '2', 'test2');
INSERT INTO Table (TableR, Seet, Keyword) VALUES ('1', '3', 'test3');
";
请告诉我如何在一个查询中运行多个查询?
使用多查询?
您可以检查以下文档:
http://php.net/manual/zh/mysqli.multi-query.php
如果您尝试插入多行,则可以检查:
(寻找LOAD DATA INFILE解决方案...)
$result = $mysqli->multi_query($query);
请享用!
希望对您有所帮助: http : //www.php.net/manual/zh/mysqli.quickstart.multiple-statement.php
如果使用它,请注意安全性。
Example#1多条语句
<?php
$mysqli = new mysqli("example.com", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
if (!$mysqli->query("DROP TABLE IF EXISTS test") || !$mysqli->query("CREATE TABLE test(id INT)")) {
echo "Table creation failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
$sql = "SELECT COUNT(*) AS _num FROM test; ";
$sql.= "INSERT INTO test(id) VALUES (1); ";
$sql.= "SELECT COUNT(*) AS _num FROM test; ";
if (!$mysqli->multi_query($sql)) {
echo "Multi query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
do {
if ($res = $mysqli->store_result()) {
var_dump($res->fetch_all(MYSQLI_ASSOC));
$res->free();
}
} while ($mysqli->more_results() && $mysqli->next_result());
?>
输出:
array(1) {
[0]=>
array(1) {
["_num"]=>
string(1) "0"
}
}
array(1) {
[0]=>
array(1) {
["_num"]=>
string(1) "1"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.