从php发送json数据

从php发送json数据,php,json,Php,Json,我对Php完全陌生,我正在尝试将json数据从Php发送到android。我有以下Php代码从数据库读取值: <?php $con=mysql_connect("localhost","root",""); if(! $con) { die('Connection Failed'.mysql_error()); } mysql_select_db("registration",$con); $name="Adam";//$_POST["name"]; $password

我对Php完全陌生,我正在尝试将json数据从Php发送到android。我有以下Php代码从数据库读取值:

<?php
$con=mysql_connect("localhost","root","");

if(! $con)
{
        die('Connection Failed'.mysql_error());
}

mysql_select_db("registration",$con);
$name="Adam";//$_POST["name"];
$password="charles";//$_POST["password"];
$sql="SELECT * FROM users WHERE name='$name'and password='$password'"; 

$result=mysql_query($sql, $con);
while($row = mysqli_fetch_array($result))     
{
    $details= array(
        'name' => $row['name'],
        'password' => $row['password'],

    );
    array_push($json, $bus);
}

$jsonstring = json_encode($json);
echo $jsonstring;
mysql_close();
?>
如果我没有弄错JSON数据。 但这给了我一个错误:

mysqli_fetch_array() expects parameter 1 to be mysqli_result, resource given in...
而且

Undefined variable: json in...

有人能告诉我您使用
mysqli\u-fetch\u数组
时可能出现的错误是什么吗。您需要使用
mysql\u fetch\u array

但是,mysql_*函数不应该再使用了

还有另一个错误:

array_push($json, $bus); // i believe $bus should be replaced with $details
像这样试试

$result=mysql_query($sql, $con);
$json = array();
while($row = mysql_fetch_array($result))     
 {
    $json[]= array(
       'name' => $row['name'],
     'password' => $row['password']
    );
}

$jsonstring = json_encode($json);
 echo $jsonstring;

mysql已经被弃用,当您可以使用mysqli或PDO时,我认为您应该检查变量$result(var_dump())的内容;事实上,如果没有定义结果,您的程序将不会进入循环,并且$JSON将不被定义。

< P>除了山姆和PITCHNENT建议的更改之外,还考虑添加PHP报头将内容类型设置为JSON/P>
header('Content-type: application/json');
也就是说,如果您使用android远程请求json信息

未定义变量:json 是因为您试图执行数组_推送($json,$bus),但$json不存在

你应该先申报

$json = Array();
mysql错误很可能是因为您混合了mysql和mysqli模块而导致的

仅使用mysqli

$con=mysqli_connect("localhost","root","");
mysql_select_db("registration",$con);
...
$result=mysql_query($sql, $con);

另外,以纯文本形式存储密码通常是个坏主意。至少考虑使用哈希函数。

1。您正在使用
mysql\u*
mysqli\u*
(选择一个,然后请选择mysqli:)。2. <代码>$json
没有在任何地方定义(您应该在上面用
$json=array();
定义它)。3. <代码>$bus
未在任何地方定义-您的意思是
$details
?4.请熟悉SQL注入(),您能告诉我上面的错误吗
$con=mysqli_connect("localhost","root","");
mysql_select_db("registration",$con);
...
$result=mysql_query($sql, $con);