Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中不将结果提取到数组中_Php_Mysql - Fatal编程技术网

在PHP中不将结果提取到数组中

在PHP中不将结果提取到数组中,php,mysql,Php,Mysql,我在MySQL数据库中的数据是 “1”、“演示”、“演示1”、“测试” 在“echo$row[2]”行上,它给出错误“通知:未定义的偏移量:2” 有什么解决办法吗。。??PHP代码如下所示 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <b

我在MySQL数据库中的数据是

“1”、“演示”、“演示1”、“测试”

在“echo$row[2]”行上,它给出错误“通知:未定义的偏移量:2”

有什么解决办法吗。。??PHP代码如下所示

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
</head>
<body>
    <?php

    $uname=$_POST['txtUserName'];
    $passwd=$_POST['txtPassword']; 

    $query="SELECT usernm,passwd FROM tbuserdemo WHERE usernm='$uname'";
    $result=  mysql_query($query);
    $rows=  mysql_num_rows($result); 

    if($rows==0)
    {
        echo "User Name is Wrong";
    }
    else
    {
        $row=mysql_fetch_row($result);
        $encpasswd=  encrypt(1, $passwd);        


        if ($row[1]==$encpasswd)
        {            
            echo "Welcome $uname";
            echo $row[2];
        }
        else
        {
            echo "Password is Wrong";
        }
    }


    ?>
</body>
</html>


您只从数据库中获取了两个字段,
选择usernm,passwd
,因此您应该只有带值的
$row[0]
$row[1]
。数组索引是从零开始的。

您只从数据库中获取了两个字段,
选择usernm,passwd
,因此您应该只有带值的
$row[0]
$row[1]
。数组索引是从零开始的。

欢迎编程。许多语言都这样做,数组索引从
0
开始,而不是
1
。所以你需要这样做

if ($row[0]==$encpasswd)
        {            
            echo "Welcome $uname";
            echo $row[1];
        }

欢迎收看节目。许多语言都这样做,数组索引从
0
开始,而不是
1
。所以你需要这样做

if ($row[0]==$encpasswd)
        {            
            echo "Welcome $uname";
            echo $row[1];
        }

它应该是
$row[0]
$row[1]
。记住,PHP的数组是基于零的。要获得$row[2],您必须在查询中选择三个字段。

它应该是
$row[0]
$row[1]
。记住,PHP的数组是基于零的。要获得$row[2],您必须在查询中选择三个字段。

更改为:

   if ($row[0]==$encpasswd)
    {            
        echo "Welcome $uname";
        echo $row[1];
    }
    else
    {
        echo "Password is Wrong";
    }
}


?>
数组中的第一个索引位于位置0(不是1)

更改为:

   if ($row[0]==$encpasswd)
    {            
        echo "Welcome $uname";
        echo $row[1];
    }
    else
    {
        echo "Password is Wrong";
    }
}


?>

数组中的第一个索引位于位置0(不是1)

数组以0开头

试试这个:

    if ($row[0]==$encpasswd)
    {            
        echo "Welcome $uname";
        echo $row[1];
    }
    else
    {
        echo "Password is Wrong";
    }

数组以0开头

试试这个:

    if ($row[0]==$encpasswd)
    {            
        echo "Welcome $uname";
        echo $row[1];
    }
    else
    {
        echo "Password is Wrong";
    }

你可能想了解一下攻击。至少如果您打算在开发/测试环境之外发布该代码。

您可能需要了解一些有关攻击的信息。至少如果您打算在开发/测试环境之外发布该代码。

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。则您的代码可以使用vunarable。在实时环境中使用此代码之前,请注意这一点。。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。则您的代码可以使用vunarable。在实时环境中使用此代码之前,请注意这一点。