得到通知是未定义的变量 $con 和警告 mysqli_query 期望参数 1 是 mysqli

Posted

技术标签:

【中文标题】得到通知是未定义的变量 $con 和警告 mysqli_query 期望参数 1 是 mysqli【英文标题】:getting notice is undefined variable $con and warning mysqli_query expect parameter 1 to be mysqli 【发布时间】:2018-01-07 20:30:41 【问题描述】:

我收到$con is undefinedmysqli_query expects parameter 1 to be mysqli but is null 的错误,我尝试了此页面上给出的所有建议,但没有一个有效,一切正常,有一天我再次开始编码它开始显示错误,我尝试了所有方法,请帮助我,我想可能是这段代码有问题,然后检查我写了另一个代码,但也没有显示同样的错误

这是我的数据库代码

<?php
$db['host']='localhost';
$db['user_name']='root';
$db['password']='sudha';
$db['database']='cmss';
foreach($db as $key =>$value)

    define(strtoupper($key ), $value);

$con=mysqli_connect(HOST,USER_NAME,PASSWORD,DATABASE);
if($con)

    echo "running";


?>

现在这是我的代码,它显示错误和所有其他页面,但它只是示例检查

<div class="widget">


         <div class="popular">
                                <?php
                                  $p_query="select * from post";  
                                  $p_run=mysqli_query($con,$p_query);
                                  if(mysqli_num_rows($p_run) > 0 )
                                   
                                     while($row=mysqli_fetch_array($p_run))
                                     

                                     $id   = $row['id'];
                                     $date = getdate($row['date']);
                                     $title= $row['title'];
                                     $image=  $row['image'];
                                     $day  =  $date['mday'];
                                     $month=  $date['month'];
                                     $year =  $date['year'];
                                ?>
                             <hr>
                               <h4>Recent post</h4>
                                <div class="row">
                                    <div class="col-xs4"><a href=""><img src="img/<?php echo $image;?>" ></a></div>
                                    <div class="col-xs8 detail">
                                        <h4><?php echo $title;?></h4>
                                        <p><i class="fa fa-clock-o" aria-hidden="true"></i><?php echo $day-$month-$year; ?></p>
                                    </div>
                                </div>
                                <hr>
                                <?php
                                     
                                         ?>
                              </div>
    </div><!-- widget close-->
    <div class="widget">

【问题讨论】:

你包含你的数据库连接文件? 先生包含在内 出错的代码是否在函数内部?该函数是否具有global $db; 以便它可以访问全局变量? 【参考方案1】:

首先,确保您使用的是最新版本的 PHP,其次,如果您的数据库连接代码在另一个文件中,请确保将该文件包含在您的主文件中。

如果这也没有帮助,请将您的代码更改为:

function connect()
    $db['host']='localhost';
    $db['user_name']='root';
    $db['password']='sudha';
    $db['database']='cmss';
    foreach($db as $key =>$value)
    
        define(strtoupper($key ), $value);
    
    $con=mysqli_connect(HOST,USER_NAME,PASSWORD,DATABASE);
    return $con;
 

无论您想在哪里使用此连接,只需创建一个变量并通过它调用 connect() 函数,如下所示:

$conn = connect();

希望这行得通。

【讨论】:

所以在 mysqli_query 中放置参数 $con 变量所以你说我会在之前初始化 $con = connect() 然后在 mysqli_query 中发送 $con,请先生清除我的困惑 谢谢我自己整理,但谢谢你的建议 这是因为 $con 连接应该是全局的,所以应该从任何地方调用。

以上是关于得到通知是未定义的变量 $con 和警告 mysqli_query 期望参数 1 是 mysqli的主要内容,如果未能解决你的问题,请参考以下文章

i += ++i 在 C++0x 中是未定义的行为吗?

python - 未定义的变量?

React FixedDataTable 单元格总是得到一切都是未定义的

无论我做啥,变量都是未定义的[重复]

Symfony 2,未定义的变量,在构造函数中初始化为 ArrayCollection 的受保护成员通过错误,它是未定义的

SAS:使用用户定义格式时,如果不匹配,“默认值”是未格式化的输入变量吗?