У меня проблема, я бы очень хотел ее решить.Может быть, у кого-то из вас есть идея?
Я пытаюсь вставить в MySQL-DB с помощью Android и продолжаю через Laravel-Framework для PHP.Я нашел учебник, где html-формуляр сделан для вставки, который отлично работает.Я пытался вызвать функцию, которая обрабатывает запрос напрямую, но я не могу заставить его работать.
ниже я процитировал часть Android.Я вырезал ненужные части, так что не удивляйтесь.
public void buttonClicked(View view){
final OkHttpClient client = new OkHttpClient();
RequestBody body2 = new FormBody.Builder()
.add("title", "suspense")
.add("description", "funny")
.add("content", "mediocre")
.build();
final Request request2 = new Request.Builder()
.url("*mypage*/laravel/public/mysql/test")
.post(body2)
.build();
client.newCall(request2).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
String mMessage = e.getMessage().toString();
Log.w("failure Response", mMessage);
//call.cancel();
}
@Override
public void onResponse(Call call, Response response)
throws IOException {
if(response.isSuccessful()) {Log.i("status: ", "success");}
else {Log.i("status: ", "failure");}
}
});
}
В моих файлах Laravel я получил:
web.php:
Route::get('laravel/public/mysql/test', 'PagesMysql@store');
Route::resource('mysql','PagesMysql');
PagesMysql.php:
public function store(Request $request){
$re ='No valid request';
if($request->has(['title', 'description', 'content'])){
$sql ='INSERT INTO '. $this->table .' (title, description, content) VALUES (:title, :description, :content)';
$vals =['title'=>$request->title, 'description'=>$request->description, 'content'=>$request->content];
if(DB::insert($sql, $vals)){
$idpg = DB::getPdo()->lastInsertId(); //auto-increment id for newly created page
$re ='Record inserted successfully.<br><a href="laravel/public/page/'. $idpg .'">See the page</a>';
}
else $re = 'Unable to insert data in table: '. $this->table;
}
return $re;
}
Как я уже сказал, функция хранилища работает правильно,если он вызывается из html-формы внутри php-файлов.Можно ли сделать то же самое через Android?Где я могу ошибиться?
Большое спасибо всем!