Php 试图将mysql重新写入mysqli
我想从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
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) {