我遇到了一個奇怪的問題(至少對我而言)。 我想檢查一個電子郵件地址,這是在Android設備上已經在我的數據庫中。 我得到了我的服務器端驗證碼:使用android檢查mysql數據
<?php
include('db_connect.php');
$db = new _DB_Connect();
$db->connect();
if(isset($_POST['email'])){
$accountMail = $_POST['email'];
$result = mysql_query("select email from gcm_users;");
$count = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
if($row['email'] == $accountMail){
echo "E-Mail found";
}else{
echo "Not found";
}
}
}
?>
我張貼帳戶的電子郵件與Android的文件。 我在數據庫中的郵件IS我得到回聲「發現電子郵件」,並可以在我的android上看到它。 如果電子郵件不在數據庫中,我什麼都看不到。 繼承人我在我的Android使用的功能至今:
protected Void doInBackground(String... params) {
try{
String accountMail;
InputStream inputStream;
String status;
//get Account e-mail
accountMail = RegisterDeviceOnRaspberryPiServer.getAccount(context);
//testoutput
System.out.println("Found Mail is: -> " + accountMail);
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://checkRegistration.php");
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("email", accountMail));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpClient.execute(httpPost);
inputStream = httpResponse.getEntity().getContent();
status = RegisterDeviceOnRaspberryPiServer.convertInputStreamToString(inputStream);
System.out.println("STATUS: " + status);
}catch (Exception e){
e.printStackTrace();
}
return null;
}
所以就像我說的,狀態:+狀態打印給我唯一的迴應,當郵件被插入,但沒有閉上眼睛,什麼都在DB 。
第二個問題是,是否有更好的方法來檢查帳戶電子郵件是否在我的數據庫中?
謝謝您。使用$ count變量的想法很棒,並且很有用! – CSDev 2014-12-06 11:39:55