Php 如何向MySQL表插入值
Android连接PHP后,如何向SQL表插入值 我想使用Android的post值到PHP,然后PHP可以接收值并插入到 但现在我有问题了,我不知道为什么不能插入到 这是我的Android代码: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
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,在我更改后,仍然失败。。