Это моя ошибка:Pure JSON? Ошибка: значение <бр типа java.lang.String не могут быть преобразованы в JSONObject
07-05 23:27:47.883: E/log_tag(2657): connection success
07-05 23:27:47.890: E/log_tag(2657): Error parsing data <br />
07-05 23:27:47.890: E/log_tag(2657): <font size='1'><table class='xdebug-error xe-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
07-05 23:27:47.890: E/log_tag(2657): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\sample\insertOrders.php on line <i>23</i></th></tr>
07-05 23:27:47.890: E/log_tag(2657): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
07-05 23:27:47.890: E/log_tag(2657): <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>
07-05 23:27:47.890: E/log_tag(2657): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0010</td><td bgcolor='#eeeeec' align='right'>245224</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp\www\sample\insertOrders.php' bgcolor='#eeeeec'>..\insertOrders.php<b>:</b>0</td></tr>
07-05 23:27:47.890: E/log_tag(2657): </table></font>
07-05 23:27:47.890: E/log_tag(2657): org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
Это мой PHP код
$con=mysqli_connect($host, $username, $password)or die("cannot connect");
mysqli_select_db($con,$db_name)or die("cannot select DB");
if (!empty($_POST)) {
//initial query
$query = "INSERT INTO orders (TableNum, MenuID) VALUES (:table, :menuid) ";
//Update query
$query_params = array(
':table' => $_POST['TableNum'],
':menuid' => $_POST['MenuID']
);
//execute query
try {
$stmt = $db_name->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error. Couldn't add post!";
die(json_encode($response));
}
$response["success"] = 1;
$response["message"] = "Username Successfully Added!";
die(json_encode($response));}
Я много читал о эта ошибка. Я разбираю блок HTML, а не чистый JSON. Я действительно не могу определить, что на самом деле является чистым JSON, поэтому мне нужен кто-то, чтобы указать его мне на PHP-код, который у меня есть.
[Это JSON.] (Http://json.org/) Вы разбор HTML. –
^Это не настоящая причина. У вас есть ошибка базы данных, отображаемая в HTML - поэтому исправьте ошибку. Hmm, должен '$ db_name' в' prepare() 'call be' $ con'? Я предполагаю, что имя базы данных является строкой, а не объектом. – halfer
Вы должны разместить больше своего php-кода. В сообщении об ошибке указано, что вы вызываете 'prepare' на не-объект в строке 23' insertOrders.php'. Похоже, что ошибка errormessage добавлена к вашему '$ response', и поэтому' json_encode' не работает – jhinzmann