Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回与一个给定值对应的多个值_Php_Android_Mysql - Fatal编程技术网

Php 返回与一个给定值对应的多个值

Php 返回与一个给定值对应的多个值,php,android,mysql,Php,Android,Mysql,我在mysql数据库中有这个表 number | name | friend ------------------------------- 1 |John | Kloey 2 |John | Tara 3 |Marco | Tia 4 |John | Clara 请不要使用不推荐的mysql.*扩展名 不要插入查询字符串,使代码容

我在mysql数据库中有这个表

number | name | friend ------------------------------- 1 |John | Kloey 2 |John | Tara 3 |Marco | Tia 4 |John | Clara
  • 请不要使用不推荐的
    mysql.*
    扩展名
  • 不要插入查询字符串,使代码容易受到sql注入的攻击。与或一起学习和使用
  • 当您获得包含多行的resultset时,您应该迭代resultset以获取代码中未包含的所有行。这就是为什么你的代码总是从结果集中的第一行得到唯一的一个名字
  • 不要使用
    选择*
    。而是显式地告诉您需要选择哪些列。在您的情况下,您只需要
    friend
  • 也就是说,使用
    mysqli

    $name=$\u POST['username'];
    $friends=array();
    $db=newmysqli('localhost','user','password','dbname');
    如果(!$db){
    die('cannotconnect:'。$db->connect_error);//TODO:更好的错误处理
    }
    $sql=“从name=?”的朋友中选择朋友”;
    如果($stmt=$db->prepare($sql)){
    $stmt->bind_参数('s',$name);
    $stmt->execute();
    $stmt->bind_result($friend);
    而($stmt->fetch()){//您必须迭代结果集
    $friends[]=$friends;
    }
    $stmt->close();
    }否则{
    die('Prepare failed:'。$db->error);//TODO:更好的错误处理
    }
    $db->close();
    $response['userfriends']=$friends;
    echo json_编码($response);
    
    样本输出:

    {"userfriends":["Kloey","Tara","Clara"]} {“用户朋友”:[“Kloey”、“Tara”、“Clara”]}
    看看你以前的问题,你真的必须熟悉答案的概念。如果不这样做,人们会停止帮助你,因为你不欣赏他们的时间和努力。 {"userfriends":["Kloey","Tara","Clara"]}