2014-12-25 153 views
-1

在這裏,我想從兩個表顯示數據:member_login_info & member_masterINNER JOIN與WHERE子句中不工作

有應該是每個UID(用戶名)唯一的記錄,並從兩個表通(密碼)member_login_info以及cust_id作爲主鍵和外鍵的member_master。

用戶和傳球是從相關的HTML文件

我寫的查詢捕獲的是在這裏:

$uid = $_POST['user']; 
$pass = $_POST['pass']; 

$sql = "SELECT member_login_info.email, member_master.fname, member_master.lname, member_master.dob 
     FROM member_login_info INNER JOIN member_master 
     ON member_login_info.cust_id = member_master.cust_id 
     WHERE member_login_info.profilename = 'user' AND member_login_info.password = 'pass'"; 

$rs=mysql_query($sql); 


while($result=mysql_fetch_array($rs)) 
{ 
    echo 'First Name: '.$result[fname].'<br /> 
      Last Name: '.$result[lname].'<br /> 
      Email Address: '.$result[email].'<br /> 
      Date of Birth: '.$result[dob].'<br />'; 
} 

不過,我得到一個錯誤: 警告:mysql_fetch_array()預計參數1是資源,布爾在C:\ xampp \ htdocs中給出\項目S8000 \ test.php在線20

我在哪裏出錯了?任何人都可以幫忙嗎?

+0

你的網站/網頁/應用程序是一個[SQL注入攻擊]敞開( http://en.wikipedia.org/wiki/SQL_injection)。修復之前,你開始嘗試解決你的邏輯錯誤。 – alroc

+0

可能重複[mysql \ _fetch \ _array()期望參數1是資源(或mysqli \ _result),布爾給定](http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter -1-to-be-resource-or-mysqli-result-boole) –

回答

0

我認爲你的$ rs變量包含false,這是一個布爾值。所以,首先要檢查它之前mysql_fetch_array.In情況下的mysql_query失敗,則返回false,一個布爾value.Try增加檢查..

$result = mysql_query("SELECT member_login_info.email, member_master.fname, 
    member_master.lname, member_master.dob 
    FROM member_login_info INNER JOIN member_master 
    ON member_login_info.cust_id = member_master.cust_id 
    WHERE member_login_info.profilename = 'user' AND member_login_info.password = 'pass'"; 
    "); 

     if (!$result) { // add this check. 
      die('Invalid query: ' . mysql_error()); 
     } 
+0

嗨Sunny,檢查時我設法糾正錯誤。感謝那。現在數據從我想要的2個表中顯示出來,但是我也得到了這樣的注意:注意:使用未定義的常量fname - 在C:\ xampp \ htdocs \ Project中使用'fname'項目S8000 \ test.php在線29.任何想法爲什麼這是顯示?謝謝... – sansam

+0

我設法弄明白了。它的工作很好,現在經過一些改變..感謝所有的投入...... :) – sansam