- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么我的应用程序在数据库中输入值是正确的,但是json返回给我的android应用程序的值为NULL?
问题出在网络上,但在浏览器中工作正常。
函数 json_last_error() 返回 0。
我的PHP代码:
<?php
$usuario = $_POST['usuario'];
$passw = $_POST['password'];
$cpassw = $_POST['cpassword'];
$res = 0;
require_once 'funciones_bd.php';
$db = new funciones_BD();
if($db->isuserexist($usuario,$passw)){
// echo(" Este usuario ya existe ingrese otro diferente!");
$res = 1;
}else{
if($db->adduser($usuario,$passw)) {
// echo(" El usuario fue agregado a la Base de Datos correctamente.");
$res = 2;
}else{
// echo(" ha ocurrido un error.");
$res = 3;
}
}
if ($res==2) {
$resultado[]=array("logstatus"=>"1");
}
else {
$resultado[]=array("logstatus"=>"0");
}
echo json_encode($resultado);
echo json_last_error();
?>
我的Logcat:
10-03 18:59:43.991: I/Choreographer(5426): Skipped 32 frames! The application may be doing too much work on its main thread.
10-03 18:59:50.261: D/InputEventConsistencyVerifier(5426): KeyEvent: ACTION_UP but key was not down.
10-03 18:59:50.261: D/InputEventConsistencyVerifier(5426): in android.widget.EditText{4110cd60 VFED..CL .F....I. 15,497-465,546 #7f050004 app:id/edpassword}
10-03 18:59:50.261: D/InputEventConsistencyVerifier(5426): 0: sent at 27274938000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=27274938, downTime=27274788, deviceId=0, source=0x101 }
10-03 18:59:53.090: D/InputEventConsistencyVerifier(5426): KeyEvent: ACTION_UP but key was not down.
10-03 18:59:53.090: D/InputEventConsistencyVerifier(5426): in android.widget.EditText{4110f430 VFED..CL .F....ID 15,575-465,624 #7f050007 app:id/reppassword}
10-03 18:59:53.090: D/InputEventConsistencyVerifier(5426): 0: sent at 27277780000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=27277780, downTime=27277671, deviceId=0, source=0x101 }
10-03 18:59:57.960: D/dalvikvm(5426): GC_CONCURRENT freed 502K, 9% free 6389K/7016K, paused 136ms+182ms, total 661ms
10-03 18:59:58.300: E/getpostresponse(5426): result= <br />
10-03 18:59:58.300: E/getpostresponse(5426): <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
10-03 18:59:58.300: E/getpostresponse(5426): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: cpassword in C:\wamp\www\android\adduser.php on line <i>5</i></th></tr>
10-03 18:59:58.300: E/getpostresponse(5426): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
10-03 18:59:58.300: E/getpostresponse(5426): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
10-03 18:59:58.300: E/getpostresponse(5426): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>142712</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\android\adduser.php' bgcolor='#eeeeec'>..\adduser.php<b>:</b>0</td></tr>
10-03 18:59:58.300: E/getpostresponse(5426): </table></font>
10-03 18:59:58.300: E/getpostresponse(5426): [{"logstatus":"1"}]0
10-03 18:59:58.300: E/log_tag(5426): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONArray
10-03 18:59:58.300: D/JSON(5426): null
10-03 18:59:59.264: E/JSON(5426): ERROR
10-03 18:59:59.300: E/onPostExecute=(5426): err
10-03 18:59:59.580: I/Choreographer(5426): Skipped 35 frames! The application may be doing too much work on its main thread.
10-03 19:00:07.201: W/IInputConnectionWrapper(5426): showStatusIcon on inactive InputConnection
最佳答案
您的应用收到 XDebug 错误消息和此值:
[{"logstatus":"1"}]0
这不是有效的 JSON,因为它的末尾有一个 0
。因此您的应用无法将其解析为 JSON 数组。
首先,您需要解决 PHP 问题。显然 cpassword
不在 POST 请求中。也许您需要添加它,或者您可能需要在尝试使用它之前检查它是否存在。
然后,尝试注释掉 PHP 的这一行:
echo json_last_error();
然后您的应用应该能够正确地将响应解析为 JSON。
关于php - 插入mysql表,但是为什么json_encode返回null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167369/
我正在尝试使用 twig json_encode 函数,但是当我这样做时 var packageDetails = {{(packageDetails|json_encode)}}; pac
我正在尝试使用 twig json_encode 函数,但是当我这样做时 var packageDetails = {{(packageDetails|json_encode)}}; 而pa
不要重新发明轮子,我指的是已经存在的 Cyrillic characters in PHP's json_encode . 问题是:这些字符是什么,它们是什么意思:\u0435、\u0434 等等?我
这是我目前的脚本: //... PDO CONNECTION AND QUERY //...* $result = $dbh->query($sql)->fetchAll(PDO::FETCH_A
我正在使用 PHP 5.2.x 并希望仅使用私有(private)成员对自定义 PHP 类的对象进行编码。其中一个私有(private)成员是另一个自定义类的对象数组。 我尝试了 https://st
$emailFields = array( array( 'name' => 'comments', 'type' => 'html', 'c
我将一些数据放入我的 mysql 数据库中,它运行良好。但是当我使用 json_encode 获取数据时,我会像这样返回: {"idpostdata":"49","artID":null,"times
我目前正在从mysql表中获取值。这些值是从foreach循环中获取的。然后,在完成循环之后,将数组转换为json对象。但是我在获取json格式以便与其他api结合使用方面遇到困难。我的循环仅在有两个
我有一些与 json_encode 相关的问题:我需要使用一个大数组(几个 100k 项),每个都有非常简单的结构(一个键,一个字符串值)。 json_decode 工作正常,但只要我想对它进行 js
我想出了如何获得我想要的结果(几乎)。我的代码在最后一个 ] 之前添加了一个逗号,所以它不会完全起作用。我知道我可以使用 Json_encode 从我的外部 json 构建我的数组,但我很难过。我要么
我有一个数组,其中包含一些字符串值和一些数值。我用过 json_encode 将数组转换为 json 数组,但它将数字值转换为我不想要的字符串。 [["India","2"],["Panama","
我在 PHP 中有以下示例代码: $data = array( 'hello', 'world', 'hi' ); $ret = array(); $ret['test'] = array();
我正在使用 json_encode 从数组创建一个 JSON 对象。它们的数组有几百个元素长,但 json_encode 似乎只返回数组的第一个元素。 这是 json_decode 的限制,还是我使用
所以这是我的 php 这给了我一个像这样的 JSON [{"name":"Flipkart"},{"name":"jagdish"},{"name":"mm"},{"name":"mouse"},{
看来 json_encode 对我的 PHP 文件中可以包含哪些其他内容非常挑剔。这很好,因为我只是在文件 A(使用 json_encode)自己的文件中执行我通常会执行的操作。 我只是想我会问,因为
我使用这个简单的代码将数据库查询结果转换为 JSON 格式: $result = $mysqli->query(" SELECT date as a , su
我有一个 PHP 代码,需要将数据库表数据编码为 json。所以我使用了 json_encode()。 我使用此处给出的表格 - http://www.geekality.net/2011/08/21
Warning: json_encode(): recursion detected in [Directory] 这个错误是什么,我似乎无法解决这个问题。它针对每个遇到的错误 500 生成一个 B
再次遇到障碍..我需要从 json 文件中编码一系列值,该范围之外的所有内容都将为空。关于如何实现这一目标有什么建议吗? 例如:如果 json 值 >100,则将值返回到新数组中,如果 json 值
我正在创建一个简单的上传脚本。我使用一个简单的表单让人们上传图片,然后外部 php 脚本将上传图片并将一些变量返回到上传页面。 但我无法让部分变量返回工作。目前我正在使用这个: 还包含表单的页面: f
我是一名优秀的程序员,十分优秀!