首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQLI多查询功能

问MYSQLI多查询功能
EN

Stack Overflow用户
提问于 2020-02-03 11:46:02
回答 1查看 70关注 0票数 0

我想要创建一个函数,它可以自动连接到数据库并执行给定的查询,但是我无法让它工作,并且不会产生错误。我认为我没有以正确的方式输出,我的目标是输出一个数组来存储来自查询的所有返回值。

到目前为止,这是我的代码,希望您能提供帮助:

代码语言:javascript
复制
public function db_query() {
    $ini = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . '/app.ini');
    $mysqli = new mysqli($ini['db_location'], $ini['db_user'], $ini['db_password'], $ini['db_name']);

    // create string of queries separated by ;
    $query = "SELECT name FROM mailbox;";
    $query .= "SELECT port FROM mailbox";

    // execute query - $result is false if the first query failed
    $result = mysqli_multi_query($mysqli, $query);

    if ($result) {
        do {
            // grab the result of the next query
            if (($result = mysqli_store_result($mysqli, 0)) === false && mysqli_error($mysqli) != '') {
                echo "Query failed: " . mysqli_error($mysqli);
                while ($row = $result->fetch_row()) {
                    echo $row[0];
                }
            }
        } while (mysqli_more_results($mysqli) && mysqli_next_result($mysqli)); // while there are more results
    } else {
        echo "First query failed..." . mysqli_error($mysqli);
    }
}

注意:我并没有仅仅为了测试目的而为查询添加参数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-03 11:55:57

代码语言:javascript
复制
public function db_query($mysqli) {

    $return = [];
    $result = mysqli_query($mysqli, "SELECT name FROM mailbox");
    while ($row = $result->fetch_row()) {
        $return[] = $row[0];
    }
    $result = mysqli_query($mysqli, "SELECT port FROM mailbox");
    while ($row = $result->fetch_row()) {
        $return[] =  $row[0];
    }
    return $return;
}

简单,干净,高效,总是有效的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60038622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档