我是PHP的新手,我不明白为什么会收到这个未定义的变量错误

优诺17

这是我的代码的相关部分,结果result_string引起了变量问题。我会强调/强调确切的界线,但我也想给出它的全部范围。

编辑:显然我不能强/强调代码,所以三个***必须要做来表示错误发生的位置。

我不知道这个简单的问题真让我烦恼。我非常感谢在此提供的任何帮助。

$database = Database_Factory::create(1);
$database->getConnection($_SESSION['url'],$_SESSION['username'],$_SESSION['password'],$_SESSION['database']);
$results_string;

if(isset($_SESSION['query'])){
    $_SESSION['results'] = $database->run_query($_SESSION['query']);
    if(!is_string($_SESSION['results'])){
        $results = $_SESSION['results'];
        $field_count = $results->field_count;
        $fields = $results->fetch_fields();

         $results_string = '<table border=1><tr style="color:red; background-color: #b0c4de">';
        foreach($fields as $field){
            $results_string .= '<td>'.$field->name.'</td>';
        }
        $results_string .= '</tr>';
        while($row = $results->fetch_row()){
            $results_string .= '<tr style="color:orange; background-color: #e0ffff">';
            for($i = 0; $i < $field_count; $i++){
                $results_string .= '<td>'.$row[$i]."</td>";
            }
            $results_string .= '</tr>';
        }
        $results_string .= '</table>';
    }else{
       $results_string = "<h2 style='color:red;'>".$_SESSION['results']."</h2>";
    }
    unset($_SESSION['query']);
}else if(isset($_SESSION["update"])){
    if(preg_match('/^insert into shipments/',strtolower($_SESSION['update'])) || preg_match('/^update shipments/',strtolower($_SESSION['update']))){ 
        $supplier_snum;
        $updateSuppliers = false;    

       $first = strpos($_SESSION['update'],"(")+1;
        $last = strpos($_SESSION['update'],")");


        $temp = substr($_SESSION['update'],$first,$last);
        $temp = preg_replace('/\)/', '',$temp);
        $temp = preg_replace('/\;/','',$temp);
        $temp = preg_replace('/\'/','',$temp);
        $temp = preg_replace("/\s+/","",$temp);
        $values = explode(",",$temp);
        foreach($values as $val){
            if($val >= 100){
                $updateSuppliers = true;
            }else if(preg_match('/^S/',$val)){
                $supplier_snum = $val;
            }
        }
    }


    $_SESSION['results'] = $database->run_update($_SESSION['update']);
    if(is_numeric($_SESSION['results'])){
        $results_string .= '<h2 style="color:green">'.$_SESSION['results'].' number of rows have been successfully updated!</h2>';
        if($updateSuppliers){
            $snums = $database->run_query("select DISTINCT(suppliers.snum) from suppliers join shipments on suppliers.snum = shipments.snum and shipments.quantity >= 100");
            $csl_snums .= "'".$supplier_snum."'";
            while($row = $snums->fetch_row()){
                for($i = 0; $i < $snums->field_count; $i++){
                    $csl_snums .= ",'".$row[0]."'";
                }
            }
            $blah = $database->run_update("UPDATE suppliers set status = (status+ 5) where snum IN (".$csl_snums.")");
            $results_string .='<br /><h2 style="color:green"> Business Logic Dectected! '.$blah.'</h2>';
        }
    }else{
        ***$results_string .= '<h2 style="color:red">'.$_SESSION['results'].'</h2>';***
    }
    unset($_SESSION['update']);
}else if(isset($_POST['logout'])){
        session_destroy();
        header('Location:index.php');
}

错误是

[Sun Aug 02 04:29:47.726659 2015] [:error] [pid 8108:tid 748] [client :: 1:63388] PHP注意:未定义的变量:C:\ Apache24 \ htdocs \ Prototype \ New Working Prototype中的results_string \ QueryResults.php在第119行

该行发生错误(正如我一开始所说的那样,我继续并在上面的代码中强调/强调了这一点):

$results_string .= '<h2 style="color:red">'.$_SESSION['results'].'</h2>';
奥斯卡

您正在results_string定义if(!is_string($_SESSION['results']))如果if最终结果为假,results_string则不会在else块中定义我建议将以下行移动到if块之前

$results_string = '<table border=1><tr style="color:red; background-color: #b0c4de">';

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我不明白为什么编译器会给我这个代码错误

Javascript函数transfomr我的值未定义。我和我的老师不明白为什么

我不明白为什么单击链接后显示“未定义”而不是传递的参数

我不明白为什么我的for循环返回“未定义”

var是未定义的,但是不明白为什么

我的React应用程序代码不断给出错误“无法读取未定义的属性'fname'”,我不明白为什么

我不明白为什么以后不能使用user_choice作为其“未定义”

我不明白为什么会收到此错误

我有这个错误:无法读取null的属性“值”,我不明白为什么

这个Xaml无效...我不明白为什么

我不明白为什么会收到以下错误

我不明白为什么会给出这个输出?

不明白为什么我会收到NullPointerException

不明白为什么我会收到拒绝权限的错误

我不明白为什么会收到IllegalArgumentException:CardLayout的父错误

我不明白为什么会收到“分段错误(核心已转储)”错误

编程新手,不明白为什么我无法打印此变量

未定义的索引,但我不明白为什么

我不明白为什么状态是未定义的?

我不明白为什么我会收到这个错误:[...] 有多个参数值 [...]

我是 Java 编程的新手,显然不明白我在这个项目中遇到的错误

为什么我收到错误“未定义的变量数据”?

我不明白为什么我的代码中出现这个未定义的错误

不明白为什么变量未定义

为什么我会收到此“主页未定义无未定义”错误

Vuetify/Javascript 为什么我会收到 ReferenceError: 变量未定义

不明白为什么我想使用我的变量错误时会收到此错误:lateinit 属性 _mails 尚未在 Kotlin 中初始化

Vue/Vuetify:为什么我会收到一个 ReferenceError:变量未定义?

这里变量的行为是什么,即闭包。输出未定义,我不明白