0

我在 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);
4

3 回答 3

0

你为什么不先试试这个?

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

这将起作用,因此您可以通过消除找到有问题的代码。

于 2012-07-26T07:23:49.817 回答
0

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

你确定查询返回的东西是s.user_id = ali40?

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

于 2012-07-26T07:24:23.330 回答
0

$user_id 未设置。要设置这个:

  <?php
   $user_id = $_REQUEST['user_id']; 
   // OR use Strict the super global GET
   $user_id = $_GET['user_id'];
   ....
于 2012-07-26T07:27:21.497 回答