簡體   English   中英

用PHP腳本將數據插入MySQL數據庫不起作用

[英]Insert data into mysql db with php script doesnt work

您好,那里的開發人員,

我正在嘗試使用php腳本將來自Android應用程序的數據插入MySql Server(在Wamp中運行)。

這些是我的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的我不能幫助自己太多。

謝謝你的問候亞歷克斯

編輯

當我在郵遞員上運行腳本以填充數據時,將出現以下錯誤:

郵遞員錯誤

原因是連接。

正確的語法是

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

所以一定是

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

刪除空括號

您可以使用瀏覽器訪問PhpMyAdmin嗎? 該錯誤指出無法使用您的PHP應用程序訪問該數據庫。

如果不能,請確保已正確安裝並且可以正常工作。

如果可以,請確保已安裝mysqli驅動程序。 看到這個問題 ,看看是否已經安裝和配置了mysqli驅動程序。

首先通過在一些在線網站上運行它來檢查您的api,並通過簡單地通過網絡上運行的php腳本插入一些數據來檢查您的數據庫名稱是否正確,如果不能解決問題可能是您連接數據庫時遇到的問題。

如果有人遇到這個問題,我終於明白了問題所在:

我運行的是我前一段時間安裝的另一個MySql Server,卻忘了它。 因此,這是在我的默認端口上運行的。 我卸載了該服務器,並將“真實”服務器的端口更改為默認端口。

無論如何,都要感謝所有試圖幫助我的人,這幫助了我找到解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM