单个MYSQL查询中的单独语句

时间:2011-07-14 17:40:41

标签: php mysql

如何在单个MYSQL查询中分隔语句?

是分号吗?

我认为这不重要,但我正在编写要由PHP函数调用的语句

编辑:问题是我似乎不理解UPDATE语法,您可以使用一个UPDATE语句执行多个字段

2 个答案:

答案 0 :(得分:1)

使用mysqli_ functions(docs),您可以使用mysqli_multi_querydocs

在同一个字符串中传递多个查询

来自文档的示例:     

/* 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();
?>

答案 1 :(得分:0)

如果您使用一个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