queryString不能在PHP站点上运行

时间:2012-07-26 07:19:14

标签: php json

我在PHP中使用var传递queryString,但它没有获取值

http://celeritas-solutions.com/emrapp/surveyDescription.php?user_id=ali40

$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_select_db($database, $linkID) or die("Could not find database.");

if (!function_exists('json_encode'))
{
    function json_encode($a=false)
    {
        if (is_null($a)) return 'null';
        if ($a === false) return 'false';
        if ($a === true) return 'true';
        if (is_scalar($a))
        {
            if (is_float($a))
            {
                // Always use "." for floats.
                return floatval(str_replace(",", ".", strval($a)));
            }

            if (is_string($a))
            {
                static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
                return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
            }
        else
            return $a;
        }

        $isList = true;
        for ($i = 0, reset($a); $i < count($a); $i++, next($a))
        {
            if (key($a) !== $i)
            {
                $isList = false;
                break;
            }
        }

        $result = array();
        if ($isList)
        {
            foreach ($a as $v) $result[] = json_encode($v);
            return '[' . join(',', $result) . ']';
        }
        else
        {
            foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
            return '{' . join(',', $result) . '}';
        }
    } 
}

$user_id=$_GET['user_id'];
echo($user_id);

$query = mysql_query("SELECT s.*, u.user_id FROM survey_master AS s JOIN user_profile AS u on u.user_id = s.user_id where s.user_id='".$user_id."' ");

$rows = array();
while($row = mysql_fetch_assoc($query)) {
    $rows[] = $row;
}

echo json_encode($rows);

3 个答案:

答案 0 :(得分:0)

为什么不先试试?

<?php
 echo $_GET['user_id'];
?>

这样就行了,所以你可以通过消除找到有问题的代码。

答案 1 :(得分:0)

尝试执行var_dump($_GET);查看_GET数组中的内容。

您确定查询返回的内容为s.user_id = ali40吗?

尝试查询结果的var_dump,或var_dump(mysql_errors());以获取任何mysql错误

答案 2 :(得分:0)

$ user_id未设置。 设置此:

  <?php
   $user_id = $_REQUEST['user_id']; 
   // OR use Strict the super global GET
   $user_id = $_GET['user_id'];
   ....