我要结合这两个查询。我已经做了一些证明而没有成功,显然我在正确模式下对单词进行排序时出错
$qryString="INSERT INTO votation (userID, voto, messageID) VALUES (:user, :voto, :mID)
ON DUPLICATE KEY UPDATE voto = :voto";
$qryString="SELECT AVG(voto) AS average_valutation FROM votation WHERE messageID=:mID";
试图将这两个查询合而为一吗?
最佳答案
根据您使用的PHP mysql lib,
尝试这个:
$results = array();
$qryString="
INSERT INTO votation (userID, voto, messageID) VALUES (:user, :voto, :mID)
ON DUPLICATE KEY UPDATE voto = :voto;
SELECT AVG(voto) AS average_valutation FROM votation WHERE messageID=:mID;
";
$mysqli->multi_query($qryString)
do {
if ($res = $mysqli->store_result()) {
$results[] = $res->fetch_all(MYSQLI_ASSOC);
$res->free();
}
} while ($mysqli->more_results() && $mysqli->next_result());
http://php.net/manual/de/mysqli.multi-query.php
mysql_
函数(不建议使用)未实现多查询。我不确定PDO。