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

时间:2017-08-01 05:55:48

标签: php html database mysqli xampp

我收到$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;?>" alt="Post Picture"></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">

1 个答案:

答案 0 :(得分:0)

首先,确保您使用的是最新版本的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();

希望这有效。