繁体   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