Php 试图将mysql重新写入mysqli

Php 试图将mysql重新写入mysqli,php,mysqli,Php,Mysqli,我想从mysql迁移到mysqli,但我收到了一些错误 Undefined index: Username in .. on line 8 Couldn't fetch mysqli in .. on line 8 Empty query in .. on line 9 这是我代码的一部分 <?php include("config.php"); //including our config.php include("auth.php"); error_repo

我想从mysql迁移到mysqli,但我收到了一些错误

Undefined index: Username in .. on line 8
Couldn't fetch mysqli in .. on line 8
Empty query in .. on line 9
这是我代码的一部分

<?php
    include("config.php"); //including our config.php 
    include("auth.php");
    error_reporting(E_ALL); 

    if(isset($_SESSION['username'])) //if session is set, so if user is logged in... 
    { 
    $sql = mysqli_query($con, "SELECT * FROM users WHERE username = '".$_SESSION['Username']."'");
    if ($result=mysqli_query($con,$sql))
    {
        $Username = $row['Username']; //selecting user name, change 'username' to your field name  
        $Headshots = $row['Headshots']; //selecting user money, change 'money' to your field name  
    $Mesaj2 = $row['Mesaj2'];
    $Mesaj3 = $row['Mesaj3'];
    $Mesaj4 = $row['Mesaj4'];
    $viplog = $row['viplog'];
                $sql2 = "SELECT Username, BanditsKilled FROM users order by BanditsKilled DESC LIMIT 5;";
        $con2=mysqli_connect("localhost","xxxx","xxxx","xxxx");
        $results2 =  array();
        $result2 = mysqli_query($con2,$sql2);

        $results2 = mysqli_fetch_all($result2, MYSQLI_ASSOC);

    $output2 = '';

        foreach ($results as $row) {


    $output .= '  <li class="media"> <div class="media-left"> <a href="#">  <img class="media-object img-circle" src="../images/photos/user9.png" alt=""> </a> </div> <div class="media-body"> <h4 class="media-heading"><a href="">'. $row['Username'] . '</a></h4> <span>' . $row['BanditsKilled'] . '</span> playeri ucisi</div> </li>';
        }

}   

                $sql3 = "SELECT Username, pHour FROM users order by pHour DESC LIMIT 5;";
        $con3=mysqli_connect("localhost","xxxx","xxxx","xxxx");
        $results3 =  array();
        $result3 = mysqli_query($con3,$sql3);

        $results2 = mysqli_fetch_all($result3, MYSQLI_ASSOC);

    $output3 = '';

        foreach ($results2 as $row) {


    $output2 .= '  <li class="media"> <div class="media-left"> <a href="#">  <img class="media-object img-circle" src="../images/photos/user9.png" alt=""> </a> </div> <div class="media-body"> <h4 class="media-heading"><a href="">'. $row['Username'] . '</a></h4> <span>' . $row['pHour'] . '</span> ore jucate</div> </li>';
        }

}


                $sql4 = "SELECT Username, pAliveTime FROM users order by pAliveTime DESC LIMIT 5;";
        $con3=mysqli_connect("xxxx","xxxx","xxxx","xxxx");
        $results4 =  array();
        $result4 = mysqli_query($con5,$sql4);

        $results4 = mysqli_fetch_all($result4, MYSQLI_ASSOC);

    $output4 = '';

        foreach ($results4 as $row) {


    $output4 .= '  <li class="media"> <div class="media-left"> <a href="#">  <img class="media-object img-circle" src="../images/photos/user9.png" alt=""> </a> </div> <div class="media-body"> <h4 class="media-heading"><a href="">'. $row['Username'] . '</a></h4> <span>' . $row['pAliveTime'] . '</span> secunde in viata</div> </li>';
        }

    ?>

因为我不能在上面发表评论,所以我在这里发表评论。
也许,而不是:

$sql = mysqli_query($con, "SELECT * FROM users WHERE username = '".$_SESSION['Username']."'"); if ($result=mysqli_query($con,$sql))... $sql=mysqli_query($con,“从username='”的用户中选择*”$\u会话['username'].“”); 如果($result=mysqli_query($con,$sql))。。。 你的意思是:

$sql = "SELECT * FROM users WHERE username = '".$_SESSION['Username']."'"; if ($result=mysqli_query($con,$sql))... $sql=“从用户名为“”的用户中选择*”$\u会话['username']。“”; 如果($result=mysqli_query($con,$sql))。。。
此代码有一些问题

$sql = mysqli_query($con, "SELECT * 
                     FROM users 
                     WHERE username = '".$_SESSION['Username']."'");
if ($result=mysqli_query($con,$sql))
您正在使用
$sql
运行两次查询,我假设第二次是为了获取数据(使用)

也不确定在哪里定义了
$con
,可能需要

$con=mysqli_connect("localhost","xxxx","xxxx","xxxx");
至于您称之为此的其他时间,最好坚持使用1个连接并重新使用它

再往下看,你有

$results2 = mysqli_fetch_all($result2, MYSQLI_ASSOC);

$output2 = '';

foreach ($results as $row) {
它正在将数据检索到
$results2
中,然后使用
$results


还值得研究准备好的语句,因为这提供了很多好处,包括安全性等。

您可以检查
$\u SESSION['username']
,然后访问
$\u SESSION['username']
所以我不应该访问$\u会话,而应该访问$\u POST?我认为这更像是一种总是使用相同元素名--
'username'
和小写u的情况。这是可行的,但仍然是:mysqli\u query():无法在第8行获取mysqli,而mysqli\u query():在第9行中使用空查询。
$con
定义在哪里,您似乎正在进行大量的数据库连接,您应该只需要1个连接。config.phpI中定义的Con现在有一个问题。在我从mysql移动到mysqli后,我的网站显示为红色“unsecured”。原因是什么?mysqli_query():无法从中获取mysqli。现在错误是mysqli_query()希望参数2是字符串,对象在
$results2 = mysqli_fetch_all($result2, MYSQLI_ASSOC);

$output2 = '';

foreach ($results as $row) {