Was ist das Problem mit dem CodeMysql Fehler 1064, wenn Daten von der SD-Karte lesen Apostroph haben - Android, PHP, MySQL
wenn Daten von meinem sdcard informat von „einige große oder kleine Zeichenfolge“ lesen dann seine Arbeit Fein- und zeigen „erfolgreich eingegeben“ aber, wenn seine mit Apostroph wie „einige große oder kleine Schnur des“ seine dann nicht und zeigen arbeiten „oops! Bitte versuchen Sie es noch einmal!“ aus meiner Song.php-Datei.
Dieses ist mein song.php Code
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$date_today = $_POST['date_today'];
$data_name = $_POST['data_name'];
$data_value = $_POST['data_value'];
require_once('Connect.php');
$sql = "INSERT INTO songs VALUES('$data_name','$data_value','$date_today')";
if(mysqli_query($con,$sql)){
echo 'successfully Entered';
}else{
echo 'oops! Please try again!';
}
mysqli_close($con);
}else{
echo 'error';
}
connect.php
<?php
define('HOST','localhost');
define('USER','root');
define('PASS','');
define('DB','dracula');
$con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect');
?>
Songdata Klasse
class SongData extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... params) {
ContentResolver mr = getContentResolver();
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor mc = mr.query(uri,null,null,null,null);
if (mc!=null&&mc.moveToFirst()){
int titleColumn = mc.getColumnIndex(MediaStore.Audio.Media.TITLE);
int idColumn = mc.getColumnIndex(MediaStore.Audio.Media._ID);
int artist = mc.getColumnIndex(MediaStore.Audio.Media.ARTIST);
do{
long thisId = mc.getLong(idColumn);
String thisTitle = mc.getString(titleColumn);
String thisArtist = mc.getString(artist);
String mp = "TITLE "+thisTitle+"\nARTIST "+thisArtist;
song += "\n\n-------------------------\n"+mp;
}while(mc.moveToNext());
mc.close();
}
return song;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
register(date_today, device, s, "http://192.168.1.102/song.php");
}
}
hier ist Registerverfahren.
private void register(String data_name, String data_value,String date_current,String url) {
class RegisterUser extends AsyncTask<String, Void, String>{
ConnectionClass cc = new ConnectionClass();
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
}
@Override
protected String doInBackground(String... params) {
HashMap<String, String> data = new HashMap<>();
data.put("data_name",params[0]);
data.put("data_value", params[1]);
data.put("date_today", params[2]);
String result = cc.sendPostRequest(params[3],data);
return result;
}
}
RegisterUser ru = new RegisterUser();
ru.execute(data_name,data_value,date_current,url);
}
Hier ist ConnectionClass.java
import android.util.Log;
import org.apache.http.HttpException;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
public class ConnectionClass {
public String sendPostRequest(String requestURL,
HashMap<String, String> postDataParams) {
URL url;
String response = "";
try {
url = new URL(requestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK) {
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
response = br.readLine();
}
else {
response="Error Registering";
}
} catch (Exception e) {
e.printStackTrace();
response = "not connected";
}
return response;
}
private String getPostDataString(HashMap<String, String> params) throws UnsupportedEncodingException {
StringBuilder result = new StringBuilder();
boolean first = true;
for(Map.Entry<String, String> entry : params.entrySet()){
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
}
Log.i("result",result.toString());
return result.toString();
}
}
Verwenden mysqli_error(), um herauszufinden, was passiert ist. – Jens
seine Show
nur –
Mysqli_error()? – Jens