Php 在登录应用程序中注册时,数据未存储在mysql数据库表android中

Php 在登录应用程序中注册时,数据未存储在mysql数据库表android中,php,android,mysql,android-layout,android-intent,Php,Android,Mysql,Android Layout,Android Intent,我正在为登录和注册应用程序编写代码。下面是用于注册的android代码和php脚本。这些值没有存储在mysql数据库表(my_表)中 当我在浏览器中打开“”时,我在第8行的/home/vhosts/fooddof.freevar.com/Register.php中得到“解析错误:语法错误,意外的“$username”(T_变量) Android Java脚本: 公共类StoreUserDataAsyncTask扩展了AsyncTask{ 用户; GetUserCallback-userCallb

我正在为登录和注册应用程序编写代码。下面是用于注册的android代码和php脚本。这些值没有存储在mysql数据库表(my_表)中

当我在浏览器中打开“”时,我在第8行的/home/vhosts/fooddof.freevar.com/Register.php中得到“解析错误:语法错误,意外的“$username”(T_变量)

Android Java脚本:
公共类StoreUserDataAsyncTask扩展了AsyncTask{
用户;
GetUserCallback-userCallback;
public StoreUserDataAsyncTask(用户用户,GetUserCallback userCallback){
this.user=user;
this.userCallback=userCallback;
}
@凌驾
受保护的Void doInBackground(Void…参数){
ContentValues ContentValues=新ContentValues();
contentValues.put(“用户名”,user.username);
contentValues.put(“密码”,user.password);
contentValues.put(“email”,user.email);
试一试{
URL=新URL(服务器地址+“Register.php”);
HttpURLConnection conn=(HttpURLConnection)url.openConnection();
连接设置连接超时(连接超时);
conn.setReadTimeout(连接超时);
conn.setRequestMethod(“POST”);
conn.setDoInput(真);
连接设置输出(真);
OutputStream out=conn.getOutputStream();;
BufferedWriter writer=新的BufferedWriter(新的OutputStreamWriter(输出,“UTF-8”));
writer.write(String.valueOf(params));
writer.flush();
writer.close();
out.close();
}捕获(java.io.ioe异常){
e、 printStackTrace();
}
返回null;
}
PHP脚本:

如果此代码有任何错误,请提供帮助。

在行尾添加分号(;)(每个PHP语句都以分号结尾)

$con=mysqli_connect(“localhost”、“862322”、“varna123”、“862322”)

  • 请在末尾添加分号以更正mysqli连接

  • 若并没有验证post输入的检查,那个么您肯定会在浏览器上看到错误

  • 使用PHP函数isset-

    确定变量是否已设置且不为空。布尔isset(混合 $var[,混合$…])

    以下是更新的代码:

    <?php
        $con=mysqli_connect("localhost","862322","varna123","862322");
        if(isset($_POST)) {
        $username = $_POST["username"];
        $password = $_POST["password"];
        $email= $_POST["email"];
        $statement = mysqli_prepare($con, "INSERT INTO my_table (username, password, email) VALUES (?, ?, ?)");
        mysqli_stmt_bind_param($statement, "sss",$username, $password, $email);
        mysqli_stmt_execute($statement);
        mysqli_stmt_close($statement);
        mysqli_close($con);
        } 
    ?>
    
    
    

    您可以添加更多的isset检查来检查用户名等。

    您没有在android请求中添加
    ContentValues
    的数据。但当我在Nexus 4 real device中运行此应用程序时,当我尝试在注册表中输入值时,我在Logcat中得到以下错误:E/AmanatotDataUpdateHelper﹕ 未能获得上下文建议。此外,我不断收到以下错误:未能从客户端com.android.cellbroadcastReceiver删除4100到4100中端的cdma广播订阅。我已解决所有语法问题。但数据仍然未存储在mysql中。请帮我解决此问题。值仍然不正确mysql数据库中的oring,注册表单正在进行很长时间。如果代码有任何错误,请帮助。它似乎没有连接到862322端口。请再次检查您的连接设置。
    <?php
        $con=mysqli_connect("localhost","862322","varna123","862322")
        $username = $_POST["username"];
        $password = $_POST["password"];
        $email= $_POST["email"];
        $statement = mysqli_prepare($con, "INSERT INTO my_table (username, password, email) VALUES (?, ?, ?)");
        mysqli_stmt_bind_param($statement, "sss",$username, $password, $email);
        mysqli_stmt_execute($statement);
        mysqli_stmt_close($statement);
        mysqli_close($con);  ?>
    
    <?php
        $con=mysqli_connect("localhost","862322","varna123","862322");
        if(isset($_POST)) {
        $username = $_POST["username"];
        $password = $_POST["password"];
        $email= $_POST["email"];
        $statement = mysqli_prepare($con, "INSERT INTO my_table (username, password, email) VALUES (?, ?, ?)");
        mysqli_stmt_bind_param($statement, "sss",$username, $password, $email);
        mysqli_stmt_execute($statement);
        mysqli_stmt_close($statement);
        mysqli_close($con);
        } 
    ?>