0

求指教联表查询用PDO怎么绑定。代码如下:
更正,好像找到了。

try{
        $pdo = new PDO($dns,$user,$pwd);
    /*
    * SELECT t.*,w.USERNAME FROM emper t JOIN emper_account w
                   WHERE t.`EMPID` = w.`EMPID`
                   AND w.`USERNAME` = 'username'
                   AND w.`PASS` = 'password'
    */
/* 旧的sql代码
        $sqls = "select t.*,w.USERNAME FROM emper t 
                                       JOIN emper_account w 
                                       where t.EMPID = w.EMPID
                                       and w.USERNAME= ".$username." and w.PASS=".$pass.";";
                                       */
    //  新的
$sqls = "select t.*,w.USERNAME FROM emper t 
                                       JOIN emper_account w 
                                       where t.EMPID = w.EMPID
                                       and w.USERNAME= "."'".$username." and w.PASS="."'".$pass."';";
        echo $sqls."<br/>";
        $sql = $pdo->prepare($sqls);
        
        $sql->execute();
        $abmo = $sql->fetchAll(PDO::FETCH_ASSOC);
        
        echo count($abmo);
        
        for($i=0;$i<count($abmo);$i++){
            
            echo $abmo[$i]['empid']."<br />";
        }    
                        
    }catch(Exception $e){    
        echo $e->getMessage()."<br/>";    
    }

//已经解决。更改输出代码,如下:

for($i=0;$i<count($abmo);$i++){
            
            echo $abmo[$i]['EMPID']."<br />";
            echo $abmo[$i]['EMPNAME']."<br />";
            echo $abmo[$i]['LEADERID']."<br />";
            echo $abmo[$i]['JOBNAME']."<br />";
            echo $abmo[$i]['MBPHONE']."<br />";
            echo $abmo[$i]['USERNAME']."<br />";
        }    

页面输入如下:

果然只有将问题抛出来之后脑子转起来才快。。。
再次感谢。。

1个回答

0

原因就是sql语句绑定参数那里,参数没用英文单引号括起来,好低级的错误......

撰写答案