有没有办法像这样做if
语句:
if ($password == mysql_query("SELECT password from member WHERE id = $id")) {
// f00
}
所以我的意思是,如果在if
中有一个简短的查询是可能的和/或良好的做法,而不是先从你的数据库中提取它。
谢谢!
答案 0 :(得分:1)
mysql_query返回一个资源,因此无法正常工作
答案 1 :(得分:0)
我不推荐它。如果SQL中存在错误,如果无法连接到服务器,如果没有返回行,或者存在任何其他错误,那么您将遇到一些大问题。
答案 2 :(得分:0)
当然可以,但这不是一个好主意。
考虑您是否使用数据库抽象层而不是基本的php_mysql,如adodb
你可以轻松拥有: if($password == $DB->GetOne('Select password from member where id = '.$ID)){
//do something
}
但是,如果查询失败或以其他方式返回了您隐含期望的任何内容,则可能会出现无法预料的错误。
您应该封装数据库输出和数据库查询,这样如果它们失败,它们会优雅地失败,并且不会产生奇怪的副作用,这些副作用可能会在以后跟踪时很难。