1

我的数据库中有一个包含 1 或 2 的用户级别字段。我想要做的是获取包含我输入的包含级别 2 的用户名的行。这是我的代码:

<?php

    $con=mysql_connect("localhost","root","");
    mysql_select_db("nnx",$con);

    $tbl=mysql_query("SELECT * FROM order");
    while($row=mysql_fetch_array($tbl))
    {

       if (($row['level']=='2')&&($row['username']==$_POST['user']))
       {
            echo $row['username']."".$row['garlique']."".$row['rightcee'];
        echo $row['oleia']."<br />";
       }
       else
       {
        echo $row['username']."".$row['garlique']."".$row['rightcee'];
        echo .$row['oleia']."<br />";
       }
        }
?>

当我尝试对其进行测试时,显示错误"unexpected $end"。我认为我的代码中的错误是验证如果.. ($row['level']=='2').. 我不知道如何解决此类问题。我是php的初学者,如果你能帮助我,我将非常感激。:)

4

3 回答 3

2

用关闭你的while循环}。语法错误。

于 2012-10-04T17:25:52.293 回答
2

我想提个建议。如前所述,如果您的目标是检索给定用户名的第 2 级行,则您的查询可以完成所有工作:

// Put the username in a variable, making sure it's safe for SQL by escaping it
$username = mysql_real_escape_string($_POST['user']);

// Grab the row from the table, expecting only a single result
$tbl = mysql_query("SELECT * FROM `order` WHERE `username` = '$username' AND `level` = '2' LIMIT 1");

// Set your row variables
$rows = mysql_fetch_array($tbl);
$row  = $rows[0];

if (!$row)
{
    // Either not a valid username or the username isn't level 2
}
else
{
    // Valid row
}
于 2012-10-04T17:26:13.330 回答
0

你忘了最后一个}

<?php
    $con=mysql_connect("localhost","root","");
    mysql_select_db("nnx",$con);

    $tbl=mysql_query("SELECT * FROM order");
    while($row=mysql_fetch_array($tbl))
    {

        if (($row['level']=='2')&&($row['username']==$_POST['user']))
        {
            echo $row['username']."".$row['garlique']."".$row['rightcee']."".$row['oleia'];
            echo "<br />";
        } else {
            echo $row['username']."".$row['garlique']."".$row['rightcee']."".$row['oleia'];
            echo "<br />";
        }
    } // PAY ATTENTION TO THIS!!
?>
于 2012-10-04T17:26:29.820 回答