Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何向MySQL表插入值_Php_Android_Mysql - Fatal编程技术网

Php 如何向MySQL表插入值

Php 如何向MySQL表插入值,php,android,mysql,Php,Android,Mysql,Android连接PHP后,如何向SQL表插入值 我想使用Android的post值到PHP,然后PHP可以接收值并插入到 但现在我有问题了,我不知道为什么不能插入到 这是我的Android代码: public class MainActivity extends Activity { TextView t; // String url = "http://00.00.00.00/Insert.php"; //thread Handler mHandle

Android连接PHP后,如何向SQL表插入值

我想使用Android的post值到PHP,然后PHP可以接收值并插入到

但现在我有问题了,我不知道为什么不能插入到

这是我的Android代码:

public class MainActivity extends Activity {
    TextView t;
    //
    String url = "http://00.00.00.00/Insert.php";

    //thread
    Handler mHandle; //manager
    HandlerThread mThread;//worker
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);     
        //create table using CreateTable.php
        mThread = new HandlerThread("CreateTable");//
        mThread.start();//worker stand by
        mHandle = new Handler (mThread.getLooper());//look for worker using Handle manager
        mHandle.post(CreateTable);//give work for worker
    }
    //
    private Runnable CreateTable = new Runnable() {
        @Override
        public void run() {

            // TODO Auto-generated method stub
            //connect php
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost method = new HttpPost(url);
            //send value to 
            List< NameValuePair> vars=new ArrayList< NameValuePair>();
            vars.add(new BasicNameValuePair("number","abc"));
            try {
                method.setEntity(new UrlEncodedFormEntity(vars,HTTP.UTF_8));
                Log.e("TAG","Send to php");
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    };
}
公共类MainActivity扩展活动{
文本视图t;
//
字符串url=”http://00.00.00.00/Insert.php";
//线
Handler mHandle;//管理器
HandlerThread mThread;//工作线程
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//使用CreateTable.php创建表
mThread=newhandlerThread(“CreateTable”)//
mThread.start();//工人待命
mHandle=新处理程序(mThread.getLooper());//使用句柄管理器查找工作进程
mHandle.post(CreateTable);//为工人提供工作
}
//
private Runnable CreateTable=new Runnable(){
@凌驾
公开募捐{
//TODO自动生成的方法存根
//连接php
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost方法=新的HttpPost(url);
//发送值给
Listvars=newarraylist();
变量添加(新的BasicNameValuePair(“编号”、“abc”);
试一试{
setEntity(新的UrlEncodedFormEntity(vars,HTTP.UTF_8));
Log.e(“标记”,“发送到php”);
}捕获(不支持的编码异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
};
}
这是我的php代码

<?php   
 $dbhost = 'localhost';   
 $dbuser = 'root';   
 $dbpass = '';   
 $dbname = 'androidhive';   

 $number = $_POST['number'];//$number from android

 $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error with MySQL connection');

  mysql_query("SET NAMES 'utf8'");
  mysql_select_db($dbname);   
  $result = mysql_query("INSERT INTO table1(Username,Password,Role) VALUES('number', 'number', 'number')");
?>

您应该在HttpClient上调用execute方法

httpClient.execute(postRequest);

我发现我的错误,并改正

<?php   
    header("Content-type: text/html; charset=utf-8"); 
    $conn = new mysqli('localhost', 'user', 'password', 'databasename');
    $conn->set_charset('utf8');

    $number = $_POST['number'];
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    $sql = "INSERT INTO table1(Username,Password,Role) VALUES('$number', '$number', '$number')";
    if ($conn->query($sql) === TRUE) {
        echo "insert to table successfully";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
    $conn->close();
?>

如果您使用Android Hive作为教程的来源,请不要-他们的PHP示例似乎包含SQL注入,并且他们不会回复要求他们解决此类安全问题的推文。
$result=mysql\u query(“插入到表1(用户名、密码、角色)值(“$number”、“$number”、“$number”)@Frank thx,在我更改后,仍然失败。。