PHP如果从Mysql DB中获取

时间:2011-07-01 16:38:54

标签: php

我无法理解为什么这不起作用..

<?
(connect info and select DB etc here)

$term = $_POST['term'];
$sql = mysql_query("select * from evansu where username like '%$term%'");
 if ($row==$term)
    {
while ($row = mysql_fetch_array($sql))

      echo 'ID: '.$row['ID'];
    echo '<br/> First Name: '.$row['username'];
    echo '<br/> Last Name: '.$row['name'];
    echo '<br/> Phone: '.$row['Phone'];
    echo '<br/><br/>';
}

else
  echo "Nothing found, have a nice day!";

&GT;

即使值在数据库中,也没有找到任何内容,如果我删除它的if代码并显示信息。帮助

4 个答案:

答案 0 :(得分:3)

如果$row==$term不为空,则

false$_POST['term']。这导致while循环未被执行。

答案 1 :(得分:1)

您的代码没有正确缩进,您暂时忘记了大括号。 你也混淆了循环。

$term = $_POST['term'];
$sql = mysql_query("select * from evansu where username like '%$term%'");
$row = NULL

while ($row = mysql_fetch_array($sql))
{ if ($row['username']==$term)
    {
      echo 'ID: '.$row['ID'];
      echo '<br/> First Name: '.$row['username'];
      echo '<br/> Last Name: '.$row['name'];
      echo '<br/> Phone: '.$row['Phone'];
      echo '<br/><br/>';
    }
}
if (!$row)
{  echo "Nothing found, have a nice day!"; }

答案 2 :(得分:0)

您已声明变量$ row,以便您可以检查它。所以,你基本上是在检查一个不存在的变量。您应该在代码中更早地声明该行。

答案 3 :(得分:0)

在检查您的$row = mysql_fetch_array($sql)

之前,您应该$row['username'] == $term