我一直在尝试使用Android应用程序中的php连接MySQL数据库。我不知道下面的代码有什么问题。谁能告诉我我需要做什么。
这是我的代码:
sql 查询
CREATE TABLE user_detail
(
name varchar(30),
age int(2),
email varchar(30)
);
2. getdata.php 类
<?php
$con=mysql_connect('localhost','root','');
mysql_select_db('hellodb',$con);
$name = $_POST['name'];
$age = $_POST['age'];
$email = $_POST['email'];
$mysql_query("insert into user_detail(name,age,email) values('{$name}','{$age}','{$email}')");
?>
3. MainActivity.java 类
public class MainActivity extends ActionBarActivity {
EditText eName,eAge,eEmail;
Button inButton;
InputStream is=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.ThreadPolicy tp = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(tp);
setContentView(R.layout.main);
eName= (EditText) findViewById(R.id.etname);
eAge= (EditText) findViewById(R.id.etage);
eEmail= (EditText) findViewById(R.id.etemail);
inButton=(Button)findViewById(R.id.ibutton);
inButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name=""+eName.getText();
String age=""+eAge.getText();
String email=""+eEmail.getText();
List<NameValuePair> nameValuePairs=new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("name","name"));
nameValuePairs.add(new BasicNameValuePair("age","age"));
nameValuePairs.add(new BasicNameValuePair("email","email"));
try {
HttpClient httpClient=new DefaultHttpClient();
HttpPost httpPost=new HttpPost("http://10.0.2.2:8888/demo/getdata.php");
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpClient.execute(httpPost);
HttpEntity entity=response.getEntity();
is=entity.getContent();
} catch (ClientProtocolException e) {
Log.e("ClientProtocol","LogTag");
e.printStackTrace();
}catch (IOException e) {
Log.e("LogTag","IOException");
e.printStackTrace();
}
}
});
}
}
MandroidManifest.xml
main.xml 类
<EditText
android:id="@+id/etname"
android:hint="Enter Your Name"
android:textAlignment="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/etage"
android:hint="Enter Your Age"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/etemail"
android:hint="Enter Your Email"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<Button
android:layout_width="169dp"
android:layout_height="wrap_content"
android:text="Insert"
android:id="@+id/ibutton"
android:layout_gravity="center_horizontal" />
答案 0 :(得分:2)
详细了解PDO Here
$dbtype = "mysql";
$dbhost = "localhost";
$dbname = "hellodb";
$dbuser = "root";
$dbpass = "";
$name = $_POST['name'];
$age = $_POST['age'];
$email = $_POST['email'];
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
$sql = "INSERT INTO user_detail(name,age,email) VALUES (:name,:age,:email)";
$q = $conn->prepare($sql);
$q->execute(array(':name'=>$name,
':age'=>$age,
':email'=>$email));