У меня есть приложение для Android, которое отправляет данные в таблицу MySQL PHPMyAdmin. Данные хранятся в базе данных отлично. У меня есть две таблицы event
а также activity
, Поэтому я создал внешний ключ в activity
что относится к eid
поле в event
, Это отношение показывает должным образом в разделе Designer в PHPMyAdmin тоже. Но проблема в том, что теперь я получаю ошибку JSON из приложения для Android. Я не могу понять, почему. Я добавил код db.execSQL("PRAGMA foreign_keys=ON;");
в onCreate
метод класса DBHelper тоже. Я получаю ошибку json_encode
ответ об ошибке. Вот мой PHP-код для справки:
if ($tag == 'newAct'){
$aName = $_POST['aname'];
$aType = $_POST['atype'];
$aDesc = $_POST['adesc'];
$aSdate = $_POST['asdate'];
$aEdate = $_POST['aedate'];
$aStime = $_POST['astime'];
$aEtime = $_POST['aetime'];
$aGoal = $_POST['agoal'];
$aLocation = $_POST['alocation'];
$aCreated_by = $_POST['acreated_by'];
//$subject = "New activity";
//$message = "You have sucessfully created a new activity.\n\nRegards,\nAdmin.";
//$from = "Shareity Team";
//$headers = "From:" . $from;
$activity = $db->addActivity($aName, $aType, $aDesc, $aSdate, $aEdate, $aStime, $aEtime, $aGoal, $aLocation, $aCreated_by);
if ($activity) {
// activity stored successfully
$response["success"] = 1;
$response["activity"]["aname"] = $activity["aname"];
$response["activity"]["atype"] = $activity["atype"];
$response["activity"]["adesc"] = $activity["adesc"];
$response["activity"]["asdate"] = $activity["asdate"];
$response["activity"]["aedate"] = $activity["aedate"];
$response["activity"]["astime"] = $activity["astime"];
$response["activity"]["aetime"] = $activity["aetime"];
$response["activity"]["agoal"] = $activity["agoal"];
$response["activity"]["alocation"] = $activity["alocation"];
$response["activity"]["acreated_at"] = $activity["acreated_at"];
$response["activity"]["aedited_at"] = $activity["aedited_at"];
$response["activity"]["acreated_by"] = $activity["acreated_by"];
//mail($email,$subject,$message,$headers);
echo json_encode($response);
}
else {
// activity failed to store
$response["error"] = 1;
$response["error_msg"] = "JSON Error occured in creating the activity WTF";
echo json_encode($response);
}
Это функция addActivity
public function addActivity($aname, $atype, $adesc, $asdate, $aedate, $astime, $aetime, $agoal, $alocation, $acreated_by) {
$uuid = uniqid('', true);
//$hash = $this->hashSSHA($password);
//$encrypted_password = $hash["encrypted"]; // encrypted password
//$salt = $hash["salt"]; // salt
$result = mysql_query("INSERT INTO activity(aname, atype, adesc, asdate, aedate, astime, aetime, agoal, alocation, acreated_at, aedited_at, acreated_by) VALUES('$aname', '$atype','$adesc', '$asdate', '$aedate', '$astime', '$aetime', '$agoal', '$alocation', NOW(), NOW(),'$acreated_by')");
// check for successful store
if ($result) {
//get event details
$activityid = mysql_insert_id(); // last inserted id
//$eventid = mysql_insert_id();
$result = mysql_query("SELECT * FROM activity WHERE activityid = $activityid");
//return event details
return mysql_fetch_array($result);
} else {
return false;
}
}
Задача ещё не решена.
Других решений пока нет …