【问题标题】:php statements fail to work when wrapped in a function [duplicate]包装在函数中时,php语句无法工作[重复]
【发布时间】:2015-12-14 17:51:05
【问题描述】:

下面的代码在没有封装在函数中时可以正常工作

$opt = 'logo_img';
$sql="SELECT option_value FROM r0_options WHERE option_name='".$opt."'";
$result=mysqli_query($db,$sql);
$row=mysqli_fetch_array($result,MYSQLI_NUM);
var_dump($row);

但是,当我执行以下操作并调用该函数时,它会给出 NULL。

function get_result($opt){
    $sql="SELECT option_value FROM r0_options WHERE option_name='".$opt."'";
    $result=mysqli_query($db,$sql);
    $row=mysqli_fetch_array($result,MYSQLI_NUM);
    var_dump($row);
}

get_result('logo_img');

【问题讨论】:

  • 听说过变量作用域吗? 好吧,你去吧;现在你有了,就是这样。

标签: php function mysqli


【解决方案1】:

这是因为您没有传递$db 变量,要么将其传递给函数,要么执行以下操作:

function get_result($opt){
    global $db;

    $sql="SELECT option_value FROM r0_options WHERE option_name='".$opt."'";
    $result=mysqli_query($db,$sql);
    $row=mysqli_fetch_array($result,MYSQLI_NUM);
    var_dump($row);
}

get_result('logo_img');

【讨论】:

  • 天啊。我花了太多时间不喝咖啡。谢谢
【解决方案2】:

您忘记将“$db”传递给您的函数:

函数 get_result($db, $opt){

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 2015-10-11
    • 2020-02-11
    • 2021-09-14
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2013-03-01
    相关资源
    最近更新 更多