2014-12-25 203 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