Вставить данные в MySQL DB с PHP-скриптом не работает - PullRequest
0 голосов
/ 16 октября 2018

Здравствуйте, разработчики!

Я пытаюсь вставить данные из моего приложения Android на мой MySql Server (работающий на wamp) с помощью php-скрипта.

Вот мои php-скрипты:

<?php

define('hostname','localhost');
define('user','root');
define('password','');
define('databaseName','tutorial');

$connect = mysqli_connect(hostname,user,password,databaseName);

?>

И

<?php

if($_SERVER["REQUEST_METHOD"]=="POST") {

    require 'connection.php';
    createStudent();

}

function createstudent(){

    global $connect;

    $firstname = $_POST["firstname"];
    $lastname = $_POST["lastname"];
    $age = $_POST["age"];

    $query = "insert into student(firstname,lastname,age) values ('$firstname','$lastname','$age');";

    mysqli_query($connect,$query) or die (mysqli_error($connect));
    mysqli_close($connect);

}

?>

и это мой код Android:

requestQueue = Volley.newRequestQueue(getApplicationContext());

                StringRequest request = new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {

                    }
                }, new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {

                    }
                }){
                    @Override
                    protected Map<String, String> getParams() throws AuthFailureError {
                        Map<String,String> parameters = new HashMap<String,String>();
                        parameters.put("firstname",et_firstname.getText().toString());
                        parameters.put("lastname",et_lastname.getText().toString());
                        parameters.put("age",et_age.getText().toString());

                        return parameters;

                    }
                };

                requestQueue.add(request);

Позвольте мне сказать: я знаю, что это довольно сложный вопрос, но я довольноМного в конце моих идей, поиск решения в течение нескольких недель, и я был бы очень рад, если бы кто-то мог помочь мне, также, потому что я не очень в php, я не могу помочь себе слишком много.

Спасибо, привет, Алекс

РЕДАКТИРОВАТЬ

Когда я запускаю скрипт на Почтальоне, заполняющем данные, появляются следующие ошибки:

Ошибка почтальона

Ответы [ 4 ]

0 голосов
/ 23 октября 2018

РЕШЕНИЕ

Я наконец понял, в чем проблема, если у кого-то еще есть эта проблема:

Я запускал другой сервер MySql, который я установил некоторое время назад, и забылоб этом.Так что этот работал на моем порте по умолчанию.Я деинсталлировал этот сервер и изменил порт моего «настоящего» сервера на порт по умолчанию.

В любом случае большое спасибо всем, кто пытался мне помочь, что помогло мне найти решение.

0 голосов
/ 17 октября 2018

Можете ли вы получить доступ к PhpMyAdmin через браузер?Ошибка указывает на то, что база данных была недоступна с помощью вашего PHP-приложения.

Если вы не можете, убедитесь, что она правильно установлена ​​и работает.

Если вы можете, убедитесь, что mysqliдрайвер установлен.См. этот вопрос , чтобы узнать, был ли установлен и настроен драйвер mysqli.

0 голосов
/ 17 октября 2018

Сначала проверьте ваш API, запустив его на каком-то онлайн-сайте и проверьте, правильно ли указано ваше имя базы данных, просто вставив некоторые данные через скрипт php, работающий в Интернете, и если проблема не решится, это может быть проблемой при подключении к базе данных.

0 голосов
/ 16 октября 2018

Причиной является соединение.

Правильный синтаксис:

$con = mysqli_connect("localhost","my_user","my_password","my_db");

Итак, должно быть

$connect = mysqli_connect(hostname,user,password,databaseName);

удалить пустую скобку

...