-2

我写了这段代码,但是当我运行它时没有输出。没有错误但问题没有输出。

如何在同一页面中执行多个查询?

<html>
<head>
<title> tran </title>
</head>
<body>
<?php
$link = mysqli_connect('localhost', 'root', '', 'uoh');
$query = "SELECT * FROM `student_record` id = 201102887;";
$query .= "SELECT * FROM `course` where id = 201102887;"; 

if (mysqli_multi_query($link, $query)) {
do {
    if ($result = mysqli_store_result($link)) {
        while ($row = mysqli_fetch_array($result)) 
{
echo $row['code'];
echo $row['term'];
}
}   
} while (mysqli_next_result($link));
}
?>
</body>
</html> 
4

2 回答 2

1

第一:有错误。您在第一个查询中缺少 where :

$query = "SELECT * FROM `student_record` id = 201102887;";

必须:

$query = "SELECT * FROM `student_record` where id = 201102887;";

有一个空白屏幕就足够了。

对于其余部分,您的代码是可以的,符合以下经典示例:

http://php.net/manual/en/mysqli.multi-query.php

我想知道您是否真的将服务器配置为在 html 中执行 php。

将上述更正后的这部分代码放入 .php 文件中,您将看到结果:

<?php
$link = mysqli_connect('localhost', 'root', '', 'uoh');
$query = "SELECT * FROM `student_record` where id = 201102887;";
$query .= "SELECT * FROM `course` where id = 201102887;"; 

    if (mysqli_multi_query($link, $query)) {
        do {
            if ($result = mysqli_store_result($link)) {
                while ($row = mysqli_fetch_array($result)) {
                    echo $row['code'];
                    echo $row['term'];
                }
            }   
        } while (mysqli_next_result($link));
    }
/* close connection */
mysqli_close($link);
?>

我添加了丢失的位置和连接的关闭。

顺便说一句,我希望您确定具有这些 id 的记录存在于您的数据库中。

于 2016-03-10T16:23:46.157 回答
-1

只需使用常规 mysqli_query 一个一个地运行您的查询。

不理会 multi_query ,它不适合您的情况。

于 2016-03-10T16:43:53.740 回答