php - 在不同的函数中使用 sql assoc 数组的结果之一

标签 php mysql

我正在尝试利用 assoc 的结果之一。原始函数之外的 SQL 查询数组。 即我想在完全不同的函数中使用查询的 assoc 数组的值之一。 我首先将其设为变量,然后全局化。然后 我试图在其父函数之外回应它,但没有任何可见的东西。请引用我的代码 明晰。或者我可以在 mysqli 获取数组函数中运行不同的函数吗?

<?php
session_start();
include_once('server.php');

$gat = "";

if(isset($_POST['btn-login'])){
    $query = "select * from users";
    $conditions = array();

    if(! empty($firstname)){
        $conditions[] = "firstname='$firstname'";
    }

    if(! empty($lastname)){
        $conditions[] = "lastname='$lastname'";
    }

    if(! empty($gender)){
        $conditions[] = "gender='$gender'";
    }

    $sql = $query;
    if(count($conditions) > 0){
        $sql .= " WHERE " . implode(' AND ', $conditions);
    }

    $result = mysqli_query($conn, $sql);

    while($users = mysqli_fetch_array($result, MYSQLI_ASSOC)){
        $users['firstname'];

        $users['firstname'] = $gat;
        GLOBAL $gat;
        $users['lastname'];
        $users['id'];
    }       

    //tried to echo value outside to be used for different function.

    echo $gat; 
}

?>

最佳答案

首先,您不需要在此处使用GLOBAL。变量 $gat 定义在最外层作用域中,因此它在文件中的任何位置都可用。

你的问题就在这里。您将 $users['firstname'] 设置为等于 $gat 的值,此时它是一个空字符串:“”。如果您想执行相反的操作,请设置 $gat = $users['firstname']

所以转动这些行:

$users['firstname'];
$users['firstname'] = $gat;
GLOBAL $gat;
$users['lastname'];
$users['id'];

进入:

$users['firstname']; // 1
$gat = $users['firstname']; // 2
$users['lastname']; // 3
$users['id']; // 4

此外,我不确定您的确切意图是什么,但第 1、3 和 4 行什么也没做。

关于php - 在不同的函数中使用 sql assoc 数组的结果之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50867599/

相关文章:

php - 如何提高 PHP 中的 MySQL 连接时间?

php - 生成器和数组有什么区别?

php - 在 cakephp Controller 中更改默认数据库

sql - SQL语句非常慢

mysql - Rails 中的简单报告 -- from_date 到 to_date

mysql - 导入大型 MySQL 文件而不会出现复制滞后

PHP 和 MySQL 投票系统 OOP

php - 再次显示表而不重新处理所有 PHP

MySQL 查询 : Match comma separated value with column containing comma separted string

未在 ubuntu 14.04 上安装 mysql gem for rails