Situation
I am using mysql database. Query runs from phpmyadmin and also from postman
But when i send a request from android(It returns ZERO row)
I have logged email sent from android is correct and works with other queries but not this one
public function isUserExists($email, $u_name) {
$stmt = $this->conn->prepare("select * from login where email_id = ?");
$stmt->bind_param("s",$email);
$stmt->execute();
$stmt->store_result();
$num_rows = $stmt->num_rows; //getting no of rows if exits
$stmt->close();
return $num_rows > 0;
}
Question
Why this is not working even correct email is send from android and succsessfully get it in php
The email we send from android is work perfectly in all other queries and methods
Edit This class i am using to send my post request
public class WebConnector {
String boundary = "-------------" + System.currentTimeMillis();
private static final String LINE_FEED = "\r\n";
private static final String TWO_HYPHENS = "--";
private StringBuilder url;
private String api_key;
private HashMap<String, String> params = new HashMap<>();
File file;
private int count = 0;
private DataOutputStream dos;
JSONObject postData;
public void addParams(String key , String value) {
params.put(key,value);
}
public WebConnector(StringBuilder url, String api_key)
{
this.url = url;
this.api_key = api_key;
this.postData = new JSONObject();
this.file = null;
}
public WebConnector(StringBuilder url, String api_key, JSONObject postData)
{
this.url = url;
this.api_key = api_key;
this.postData = postData;
this.file = null;
}
public WebConnector(StringBuilder url, String api_key, JSONObject postData, File image) {
super();
this.url = url;
this.postData = postData;
this.api_key = api_key;
this.file = image;
}
public String connectToMULTIPART_POST_service(String requestMethod) {
createServiceUrl();
System.out.println(">>>>>>>>>url : " + url);
String strResponse = "";
InputStream inputStream = null;
HttpURLConnection urlConnection = null;
try {
urlConnection = (HttpURLConnection) new URL(url.toString()).openConnection();
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.setRequestProperty("Connection", "close");
urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 ( compatible ) ");
urlConnection.setRequestProperty("Authorization", "" + api_key);
urlConnection.setRequestMethod(requestMethod);
if(requestMethod.equals("GET") || requestMethod.equals("DELETE"))
urlConnection.setDoOutput(false);
else {
urlConnection.setRequestProperty("Content-type", "multipart/form-data; boundary=" + boundary);
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setUseCaches(false);
urlConnection.setChunkedStreamingMode(1024);
dos = new DataOutputStream(urlConnection.getOutputStream());
Iterator<String> keys = postData.keys();
while (keys.hasNext()) {
try {
String id = String.valueOf(keys.next());
addFormField(id, postData.get(id).toString());
System.out.println(id + " : " + postData.get(id));
} catch (JSONException e) {
e.printStackTrace();
}
}
try {
dos.flush();
} catch (IOException e) {
e.printStackTrace();
}
if (file != null)
addFilePart("url", file);
build();
}
urlConnection.connect();
int statusCode = 0;
try {
urlConnection.connect();
statusCode = urlConnection.getResponseCode();
} catch (EOFException e1) {
if (count < 5) {
urlConnection.disconnect();
count++;
String temp = connectToMULTIPART_POST_service(requestMethod);
if (temp != null && !temp.equals("")) {
return temp;
}
}
} catch (IOException e) {
e.printStackTrace();
}
// 200 represents HTTP OK
if (statusCode >=400) {
inputStream = new BufferedInputStream(urlConnection.getErrorStream());
strResponse = readStream(inputStream);
} else {
System.out.println(urlConnection.getResponseMessage());
inputStream = new BufferedInputStream(urlConnection.getInputStream());
strResponse = readStream(inputStream);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != inputStream)
inputStream.close();
} catch (IOException e) {
}
}
return strResponse;
}
public void addFormField(String fieldName, String value) {
try {
dos.writeBytes(TWO_HYPHENS + boundary + LINE_FEED);
dos.writeBytes("Content-Disposition: form-data; name=\"" + fieldName + "\"" + LINE_FEED + LINE_FEED/*+ value + LINE_FEED*/);
/*dos.writeBytes("Content-Type: text/plain; charset=UTF-8" + LINE_FEED);*/
dos.writeBytes(value + LINE_FEED);
} catch (IOException e) {
e.printStackTrace();
}
}
public void addFilePart(String fieldName, File uploadFile) {
try {
dos.writeBytes(TWO_HYPHENS + boundary + LINE_FEED);
dos.writeBytes("Content-Disposition: form-data; name=\"" + fieldName + "\";filename=\"" + uploadFile.getName() + "\"" + LINE_FEED);
dos.writeBytes(LINE_FEED);
FileInputStream fStream = new FileInputStream(uploadFile);
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int length = -1;
while ((length = fStream.read(buffer)) != -1) {
dos.write(buffer, 0, length);
}
dos.writeBytes(LINE_FEED);
dos.writeBytes(TWO_HYPHENS + boundary + TWO_HYPHENS + LINE_FEED);
/* close streams */
fStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void addHeaderField(String name, String value) {
try {
dos.writeBytes(name + ": " + value + LINE_FEED);
} catch (IOException e) {
e.printStackTrace();
}
}
public void build() {
try {
dos.writeBytes(LINE_FEED);
dos.flush();
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static String readStream(InputStream in) {
StringBuilder sb = new StringBuilder();
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String nextLine = "";
while ((nextLine = reader.readLine()) != null) {
sb.append(nextLine);
}
/* Close Stream */
if (null != in) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
private void createServiceUrl() {
if (null == params) {
return;
}
final Iterator<Map.Entry<String, String>> it = params.entrySet().iterator();
boolean isParam = false;
while (it.hasNext()) {
final Map.Entry<String, String> mapEnt = (Map.Entry<String, String>) it.next();
url.append(mapEnt.getKey());
url.append("=");
try {
url.append(URLEncoder.encode(mapEnt.getValue(), "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
url.append("&");//%20
isParam = true;
}
if (isParam) {
url.deleteCharAt(url.length() - 1);
}
}
//localhost/LumnuOirtal/event?event=1&descip=wdsdsdsd&
}
I believe the issue is in the "bindParam" statement. Your statement says to replace "s" instead of "?". Try this instead:
$stmt = $this->conn->prepare("select * from login where email_id = ?");
$stmt->bind_param("?",$email);
OR
$stmt = $this->conn->prepare("select * from login where email_id = :email");
$stmt->bind_param(":email",$email);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With