在列表中显示数据库信息

时间:2014-03-13 14:09:09

标签: php mysql

使用插入的数据用户进行下拉,但出于某种原因,它不会回显我的用户名。在youtube上观看了几个教程,并且所有人都没有为我工作,因为他们做的不好看这就是我得到的...... 他不会展示任何东西......

function get_users($survey_username){ 
global $connection;
$query = "SELECT * FROM users_survey WHERE username";
$survey_username = mysql_query($query,$connection);
while($record = mysql_fetch_array($survey_username)){
echo $survey_username['username'];

}

这里是我在user_list.php中粘贴的内容

get_users($survey_username);
 $survey_username = '';
if($survey_username != ''){
echo ($survey_username['username']);
    }

提前致谢,

阿曼

2 个答案:

答案 0 :(得分:3)

你在这里犯了很多错误。

首先,您的SQL没有意义。

$query = "SELECT * FROM users_survey WHERE username";

应该是:

$query = "SELECT * FROM users_survey WHERE username = ?";

然后再绑定结果。 (看看PDO或mysqli)。

例如,(但不要使用它),你正在寻找这样的东西:

$query = "SELECT * FROM users_survey WHERE username = '".$survey_username."'";

其次,您在函数中使用$surver_username作为变量,但设置它,而不是调用它/使用它。

你应该像这样使用它(例子):

function square($x){
  return $x * $x;
}

echo square(7); // returns 45

user_list.php函数调用下的get_users

您立即将$surver_username设置为'',(无)。然后if语句将始终为false,因为它始终等于''

它应该是这样的:

get_users($survey_username);
if(isset($survey_username) && $surver_username != ''){
  echo ($survey_username['username']);
}else{
  $survey_username = '';
}

我的建议是先学习如何编写和理解PHP函数。

另请查看MySQLiPDO教程,了解查询和绑定结果的实际工作方式。

答案 1 :(得分:0)

您的数据库很可能会回复错误,您可以使用mysql_error()进行检查。该错误是因为查询不完整:

SELECT * FROM users_survey WHERE username

您的WHERE子句不会检查任何内容。 username不是有效条款。它通常是这样的:

SELECT * FROM users_survey WHERE username = 'some value'

使用完整查询,将返回结果。 (如果没有与WHERE谓词匹配,则结果可能为0。)