试图从网址获取价值并在数据库中搜索,以json格式提供

时间:2016-12-30 09:17:40

标签: php json web-services

enter image description here我是php webservice和JSON的新手。现在我试图从url获取关键字并搜索它是否在数据库中。关键字可以是一个或多个。以jSON格式提供结果。结果将是一些与值相关联的URL。 url将在数据库中。

<?php
include_once('confi.php');
error_reporting(E_ALL);

//Get the variables here

$key_word = isset($_GET['key_word']) ? mysqli_real_escape_string($conn, $_GET['key_word']) :  "";
$result = explode(',', $key_word);

print_r($result);
$sql = 'SELECT * FROM `kw` WHERE key_word="'.$key_word.'"';
$Obj='';
$query = mysqli_query($conn,$sql) or trigger_error(mysqli_error()." ".$sql);

while($row = mysqli_fetch_array($query))
{

    $key_word = $row['key_word'];
    $Url = $row['Url'];
}
}
/* Output header */
header('Content-type: application/json');
$Obj->key_word = "$key_word";
$Obj->Url = "$Url";
$JSON = json_encode($Obj);
echo $JSON;


?>

我为此代码获取null值。请帮我做。

我得到的结果是这样的。它让我分开显示,这两个将有单独的网址。

2 个答案:

答案 0 :(得分:1)

试试这样...... 步骤进行:

1.基于逗号将kewords扩展到数组

2.Foreach key find URL

3.制作单独的数组键

4.制作单独的网址数组

5.最后使用json_encode()创建一个关键数组和网址

6. <?php include_once('confi.php'); error_reporting(E_ALL); //Get the variables here $key_word = isset($_GET['key_word']) ? mysqli_real_escape_string($conn, $_GET['key_word']) : ""; $result = explode(',', $key_word); // print_r($result); if (count($result>0)) { $key_word=array(); $Url=array(); foreach ($result as $res) { $sql = "SELECT * FROM `kw` WHERE key_word='$res'"; $query = mysqli_query($conn,$sql); $row = mysqli_fetch_array($query); array_push($key_word, $row['key_word']); array_push($Url,$row['Url']); } $return = array_combine($key_word, $Url); print_r($return); // here is your final array echo json_encode($return); //in json format } 你的数组以json格式得到结果。

Referenced external data source "(null)" not found.

答案 1 :(得分:0)

你没有得到一些错误或警告吗?

$ Obj var不是对象而是字符串

更改

$Obj='';

通过

$Obj = new stdClass();

并且不要在变量周围使用引号。