这是我的代码:
$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行。
这有什么问题?
答案 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? acc
上account_id
应该是唯一的,因为同一帐户的多个密码应该是不可能的。
$pass = mysql_query("SELECT `password` FROM acc WHERE account_id = '122'");
正如@shawn所指出的,如果你的account_id
确实是一个数字,最好不要依赖隐含字符进行数字转换。虽然实际上并不重要,但这不是一种好的做法。