我已經在這裏建議了幾次,以開始將我的代碼更改爲PDO,並且我終於開始這樣做了。我的問題是,我在轉換現有的登錄腳本時遇到了難以置信的困難。對於下面的代碼的最後幾行(行$result = $query->fetchAll();
後),我一直沒能找到任何資源網上,可以幫助我重新寫它:將MySQL轉換爲PDO
$username = $_POST['username'];
$password = $_POST['password'];
$db=getConnection();
$username = mysql_real_escape_string($username);
$query = $db->prepare("SELECT password, salt, 'employer' as user_type
FROM JB_Employer
WHERE Username = '$username'
UNION
SELECT password, salt, 'jobseeker' as user_type
FROM JB_Jobseeker
WHERE User_Name = '$username'");
$result = $query->fetchAll();
$qData = mysql_fetch_array($result, MYSQL_ASSOC);
$hash = hash('sha256', $qData['salt'] . hash('sha256', $password));
if ($result -> rowcount() <1 ;) { print 「Fail, No such user」;}
if ($hash != $qData['password']) { header('Location: register.php?loginStatus=fail'); exit;}
else {$_SESSION['user'] = $username;
$_SESSION['permission'] = $qData['user_type'];}
任何人都可以建議我怎麼能去實現這個?
你爲什麼用這句話? ''「'' – dynamic 2012-02-09 14:40:10
你期望結果集有多少條記錄?即所有三個表中的$ username都只有0或1條記錄?爲什麼有三個不同但結構相同的表格用於同一目的? – VolkerK 2012-02-09 14:52:19
對不起,實際上只有兩張表,那是我的錯誤,我現在已經更新了。查詢返回一個將在JB_Jobseeker或JB_Employer表中的用戶。 – David 2012-02-09 14:56:52