Person
クラスを持つこのphpプログラムに取り組んでいます。そのクラス内に というメソッドがありfind_by_email($email)
ます。データベースにあることが確実にわかっているメールアドレスを使用して、メールでユーザーを見つけようとします。データベースにクエリを実行すると、人物オブジェクトが返されます。
テーブル名と列が正しいことを確認しました。テストの結果、コードが最初の if ステートメントに合格していないように見えます: if ($r = mysql_query($query, $dbc))
。私が考えることができる唯一のことは、私のクエリが間違っているに違いないということです. これは正しい構文ではありませんか?
メソッドを呼び出す方法は次のとおりです。
$email = $_POST['email'];
$person = Person::find_by_email($_POST['email']);
ここに私のPerson::find_by_email()
方法があります:
public static function find_by_email($email) {
global $dbc;
$query = "SELECT * FROM person WHERE email=". $email;
if ($r = mysql_query($query, $dbc)) {
if($row = mysql_fetch_array($r)) {
$person = new Person($row);
return $person;
}
}else{
$error = "Could not find user";
echo $error;
return nil;
}
}