如何在单个MYSQL查询中分离语句?
是分号吗?
我不认为这很重要,但我正在编写由PHP函数调用的语句
编辑:问题是我似乎不理解UPDATE
语法,你可以用一个UPDATE
语句执行多个字段
使用mysqli_函数(docs),您可以使用mysqli_multi_query
(docs)在同一字符串中传递多个查询
文档中的例子:
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s'n", mysqli_connect_error());
exit();
}
$query = "SELECT CURRENT_USER();";
$query .= 'UPDATE City SET name = "Boston" WHERE id = 5';
/* execute multi query */
if ($mysqli->multi_query($query)) {
do {
/* store first result set */
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_row()) {
printf("%s'n", $row[0]);
}
$result->free();
}
/* print divider */
if ($mysqli->more_results()) {
printf("-----------------'n");
}
} while ($mysqli->next_result());
}
/* close connection */
$mysqli->close();
?>
如果您使用一个PHP调用从数据库获取数据或向数据库发送数据,它将无法工作。MySQL PHP驱动程序支持查询字符串的执行,而不是脚本。如果希望通过一次调用执行多个命令,请查看存储过程。
http://dev.mysql.com/doc/refman/5.0/en/stored-routines.html我觉得你想这么做?
<?php
$query = "SELECT name, subject, message FROM contact;select name from contact;";
$result = mysql_query($query);
?>
它不会工作,因为PHP不知道你要执行什么查询。您可以这样做,但很可能您已经知道了:
<?php
$query = "SELECT name, subject, message FROM contact";
$query2 = "SELECT name, message FROM contact;select name from contact;";
$result = mysql_query($query);
$result2 = mysql_query($query2);
?>
希望有帮助,
Jeffrey Kevin Pry