PHP MySQL 代码错误

PHP MySQL wrong code

我想学习 PHP,所以我通过创建脚本和构建网站来实现这一目标。

这是我检查服务器 ID 的代码。

<?php
    include('configuration/mysql.php');
    include('php/functions.php');
?>
<?php
    function canList($email1, $id) {
        $query=mysql_query("SELECT * FROM Panel_Servers WHERE ID = '$id'") or die (mysql_error());
        while($sv=mysql_fetch_array($query))
        {
            if($id == $sv['ID']) {
                echo 'working.';
            }
        }
    }
    canList("sawickas2@gmail.com", "2740");
?>

SQL 连接良好,工作正常。查询也有效,在 phpmyadmin sql(无变量)上测试,ID 列也等于 2740。

我试了很多方法,还是不行。

我已将您的代码和 运行 复制到我的本地机器上,它运行得非常棒,现在我将我的工作代码粘贴到这里:

<?php

function canList($email1, $id) {
    $con=mysqli_connect("localhost","root","","jtw");
    $query=mysqli_query($con,"SELECT * FROM sample WHERE id = '".$id."'") or die (mysql_error());
    while($sv=mysqli_fetch_array($query))
    {
        if($id == $sv['id']) {
            echo 'working.';
            echo $id;
        }
    }
}
canList("sawickas2@gmail.com", "1");
 ?>

我已将您的 id 列更改为小写。

我想你只需要告诉 mysql_fetch_array 你想要返回什么类型的数据。默认情况下,它 returns 是一个带有数字键的数组,因此您的 $sv 数组数据应该在 $sv[0] 中。只需将 MYSQL_ASSOC 可选的第二个参数传入 mysql_fetch_array 即可;

<?php
    include('configuration/mysql.php');
    include('php/functions.php');
?>
<?php
    function canList($email1, $id) {
        $query=mysql_query("SELECT * FROM Panel_Servers WHERE ID = '$id'") or die (mysql_error());
        while($sv=mysql_fetch_array($query, MYSQL_ASSOC))
        {
            if($id == $sv['ID']) {
                echo 'working.';
            }
        }
    }
    canList("sawickas2@gmail.com", "2740");
?>

现在你的数组索引应该是ID的键,比如$sv['ID'].