2017-09-10 30 views
0

我有一个用户表(“usuarios”)和他们的朋友(“AMIGOS”)表,我想要做的是得到一个用户ID的朋友,我没有收到任何错误,但我看不出结果...这段代码有什么问题? LEFT OUTER JOIN

<?php 
    $host  = 'localhost'; 
    $username = 'root'; 
    $pwd  = ''; 
    $db  = "lyne"; 

    $con = mysqli_connect($host,$username,$pwd,$db) or die('Unable to connect'); 
    if(mysqli_connect_error($con)) { 
    echo "Failed to Connect to Database ".mysqli_connect_error(); 
    } 

    $id  = $_GET['prefID']; 
    $sql = "SELECT a.*, u.nome FROM AMIGOS a LEFT OUTER JOIN usuarios u ON(u.USU_ID = a.usuario_dois) WHERE usuario_um ='$id'"; 
    $result = mysqli_query($con,$sql); 

    if($result) { 
    while($row=mysqli_fetch_array($result)) { 
     $data[]=$row; 
    } 
    print(json_encode($data)); 
    }  

    mysqli_close($con); 
?> 

我只是得到一个空白屏幕(我只是用GET测试,将POST完成时)对不起,我不好工程

+0

您的代码易受SQL注入攻击,您需要修复此问题。 – Enstage

+0

Thx对于这个建议,但这只是我的大学,但如果我有足够的时间,我一定会解决这个问题。 – Higor

+0

只需简单地添加'$ id =(int)$ _ GET ['prefID'];'如果ID是数字。但你真的应该使用准备好的陈述,而不是任何借口。 – Enstage

回答

0

解决,问题是不是代码。在我的用户列表中,我有一些名字上带有口音的人,比如“André”,当用户是其中一个人的朋友时,根本就不工作,我不知道为什么。而已。

+0

你的编码可能有问题,检查你在任何地方都使用相同的编码(UTF-8是最好的选择) –

+0

我会这样做,如果我修好了,我会在这里发帖。 – Higor