ウェブサイトのユーザーログインシステムを作成しようとしています。私はラップトップでWAMPを実行しており、開発にAptanaを使用しています。ユーザー作成機能を約3日間機能させようとして立ち往生しています。この関数はここにあります:
function create_new_user($email, $pass, $level){
$db = new PDO('mysql:host=localhost;dbname=jadams', 'root', '');
$insertQuery = "INSERT INTO jadams.user VALUES ($email, $pass, $level);";
$db->query($insertQuery);
return TRUE;
}
プリペアドステートメントとさまざまな形式の条件付きチェックを使用して、この関数を数回書き直しました。これは、それを理解することを期待して、最も単純な関数です。何をしようとしても、データベースへの挿入を機能させることができません。phpMyAdminを介してユーザーを強制的に挿入することで、このログイン機能が機能するようになりました。
function is_pass_correct($email, $pass){
$db = new PDO('mysql:host=localhost;dbname=jadams', 'root', '');
$email = $db->quote($email);
$selectQuery = "SELECT password FROM jadams.user WHERE email = $email;";
$rows = $db->query($selectQuery);
$db=NULL;
if($rows) {
foreach ($rows as $row) {
if($pass === $row["password"]) {return TRUE;} //MD5
}
}
return FALSE;
}
私のデータベースの構造は、email varchar(256)not null primary、password varchar(256)not null、accessint;です。また、セミコロンを使用した場合と使用しない場合のクエリを試しました。