Mysql查询总是返回空值

时间:2012-01-08 17:11:09

标签: mysql return

这是我的代码:

$pass = mysql_query("SELECT `password` FROM acc WHERE account_id = '122' LIMIT 1;");
$p = mysql_fetch_object($pass);
$passwd = ( ( $p->password != "" ) ? $p->password : "empty" );

然后我正在做echo $passwd;并且它总是重新调整“空”字符串。

当然存在account_id 122行。

这有什么问题?

3 个答案:

答案 0 :(得分:0)

试试这段代码:

$query = mysql_query("SELECT * FROM `acc` WHERE `account_id`='122'") or die(mysql_error());
while($data=mysql_fetch_object($query)){
$pass = $data->password;
}
echo $pass

您现在应该能够访问该行的所有字段,包括密码字段。

答案 1 :(得分:0)

如果你改变了怎么办

$passwd = ( ( $p->password != "" ) ? $p->password : "empty" );

$passwd = (empty($p->password)) ? $p->password : "empty" );

答案 2 :(得分:0)

查询结尾处不需要使用分号。为什么你有限制1? accaccount_id应该是唯一的,因为同一帐户的多个密码应该是不可能的。

$pass = mysql_query("SELECT `password` FROM acc WHERE account_id = '122'");

正如@shawn所指出的,如果你的account_id确实是一个数字,最好不要依赖隐含字符进行数字转换。虽然实际上并不重要,但这不是一种好的做法。