首页 > 解决方案 > 试图将 mysql 改写为 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_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>';
        }

    ?>

我想说明还有很多 $text = $['row'] 但我没有发布它们以避免大量垃圾邮件。

为什么它显示这些错误?如果我使用我的旧 mysql 代码,它工作得很好。

标签: phpmysqli

解决方案


由于我无法在上面发表评论,因此我在这里发表评论。也许,而不是:

$sql = mysqli_query($con, "SELECT * FROM users WHERE username = '".$_SESSION['Username']."'");
if ($result=mysqli_query($con,$sql))...

你的意思是:

$sql = "SELECT * FROM users WHERE username = '".$_SESSION['Username']."'";
if ($result=mysqli_query($con,$sql))...


推荐阅读