我无法在PHP中显示特定记录。这是我的代码:
<?php
session_start();
$name = $_SESSION['MM_Username'];
mysql_connect("localhost","abc","sar");
mysql_select_db("abc");
$query = mysql_query("select * from employee WHERE username = '$name'");
while($row = mysql_fetch_row($query));
{
echo $row['employee_id'];
}
?>
这不会显示任何内容。我做错了什么?
答案 0 :(得分:6)
您正在使用返回数值数组的mysql_fetch_row
。您应该使用mysql_fetch_assoc
,例如。
while($row = mysql_fetch_assoc($query))
{
echo $row['employee_id'];
}
请仔细阅读以下两个文件:
http://php.net/manual/en/function.mysql-fetch-row.php
http://www.php.net/manual/en/function.mysql-fetch-assoc.php
注意:另外请不要忽略警告。开始使用PDO或mysqli。
答案 1 :(得分:0)
你有没有调试你的工作? $ _SESSION ['MM_Username'];包含什么?试试print_r($ _ SESSION);确保。
您也可以回显您的查询并直接在您的数据库上进行测试,以确保显示任何预期的结果。
如果您这样做但仍然无效:请提供更多信息。
答案 2 :(得分:0)
<?php
session_start();
$name=$_SESSION['MM_Username'];
mysql_connect("localhost","abc","sar");
mysql_select_db("abc");
$query = "select * from employee WHERE username = '$name';";
$result = mysql_query($query)or die(mysql_error());
while($row = mysql_fetch_assoc($result));
{
echo $row['employee_id'];
}
?>
或类似的东西
答案 3 :(得分:0)
首先启用错误报告:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
然后按照以下代码:
<?php
session_start();
$name = $_SESSION['MM_Username'];
mysql_connect("localhost","abc","sar") or die("No Connection"); //Add or die() to record any error if connection is failed
mysql_select_db("abc") or die("can't select");
$query = mysql_query("select * from `employee` WHERE username = '".$name."'") or die("Wrong query"); //makesure table name with backtick eg: `tablename`
while($row = mysql_fetch_array($query)); //also can use : mysql_fetch_assoc($query)
{
echo $row['employee_id']; //print output
}
?>
答案 4 :(得分:0)
您也可以使用 mysql_fetch_array($ query,MYSQL_ASSOC),但请使用 mysqli_fetch_array($ result,MYSQL_ASSOC),因为不推荐使用mysql_。
以后如果您的代码有问题,请调用funcion var_dump()以获取调试原因,或者您可以在php.ini文件中设置xdebug并与环境工具连接(如NetBeans或类似的东西)。
如果您对NetBeans和xdebug感兴趣,可以访问link。