doumeng3188 2015-03-31 09:26
浏览 95
已采纳

PHP函数无法连接到数据库以调用查询

I have three .php files.

db_conx.php

$db_conx = mysqli_connect("localhost", "admin", "admin", "gestiune");
    // Evaluate the connection
    if (mysqli_connect_errno()) {
        echo mysqli_connect_error();
        exit();
}

functions.php

function deplata($pid){
        $sqlp = "SELECT * FROM plati WHERE user_id";
        $queryp = mysqli_query($db_conx, $sqlp);
        $type = "day";
        $payments = 0;
        $salary = 80;
        $days = 4;
        $topay = 0;
        while($getplata = mysqli_fetch_assoc($queryp)){
            $plati += $getplata['valoare'];
        }
        if($tip == "day"){
            $topay = $days * $salary;
        }

        return $topay;
}

And I have the index.php file to call the files and use them.

include_once("php_includes/db_conx.php");
include_once("php_includes/functii.php");

$salariu = deplata(5);
echo $salariu;

The problem is that it will not connect to the database and it returns some errors:

Notice: Undefined variable: db_conx in D:\xampp\htdocs\manager\pages\php_includes\functions.php on line 5

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\xampp\htdocs\manager\pages\php_includes\functions.php on line 5

Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in D:\xampp\htdocs\manager\pages\php_includes\functions.php on line 11

And then it prints the value (since it does not currently use database any values). What I tried: I tried to put the functions.php content directly into the index.php file, I tried to call the db_conx.php file inside the functions.php file.

  • 写回答

1条回答 默认 最新

  • douren0558 2015-03-31 09:30
    关注

    You need to define the value the in function.php.checkout the below code

    function.php

    function deplata($pid){
    
       global $db_conx;
    
        $sqlp = "SELECT * FROM plati WHERE user_id";
        $queryp = mysqli_query($db_conx, $sqlp);
        $type = "day";
        $payments = 0;
        $salary = 80;
        $days = 4;
        $topay = 0;
        while($getplata = mysqli_fetch_assoc($queryp)){
            $plati += $getplata['valoare'];
        }
        if($tip == "day"){
            $topay = $days * $salary;
        }
    
        return $topay;
    }
    

    index.php

    Check the typo mistake in index.php

    include_once("php_includes/function.php");
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c