title: How to use BLOB with JSON and PHP?
body: <p>I have a remote database with MySQL, and I am storing photos of the users of my app on the database as a row of the database with LONGTEXT type.</p>
  
  <p>I transform the photos to a string with Base64.</p>
  
  <p>I connect to my remote database with JSON and PHP, because this, I have to use Base64, because as I know, JSON and PHP need to send strings on the parameters, and with Base64 I can transform the photo into a string.</p>
  
  <p>It works ok, but it's very slow. When I am loading a photo of 100 KB, it takes a lot of time, but when I am loading a photo of 5 KB it takes only two or three seconds.</p>
  
  <p>A friend told me to use BLOB instead of Base64, but how do I use BLOB with JSON and a PHP connection to the database? Also, I need to store the images on a row of the table <code>USER</code>. This is because the users don't have privileges to upload files into the remote server, but they can upload photos by uploading them as a string in a row of the table <code>USER</code>.</p>
  
  <p>thanks</p>
  
  <p>EDIT:</p>
  
  <p>this is the code where it takes a looot time waiting (it waits in the line: <code>while ((line = reader.readLine()) != null) {</code> , it is waiting on <code>reader.readLine()</code>  )</p>
  
  <p>this code gets one user from the remote database, it takes a loooooot of time to show the user on my app</p>
  
  <pre><code>public Friend RetrieveOneUser(String email)
  {
  
      Friend friend=null;
  
      String result = "";
      //the parameter data to send
      ArrayList&lt;NameValuePair&gt; nameValuePairs = new ArrayList&lt;NameValuePair&gt;();
      nameValuePairs.add(new BasicNameValuePair("email",email));
  
      //http post
      InputStream is=null;
      try{
              HttpClient httpclient = new DefaultHttpClient();
              HttpPost httppost = new HttpPost(this.BaseURL + this.GetOneUser_URL);
              httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
              HttpResponse response = httpclient.execute(httppost);
              HttpEntity entity = response.getEntity();
              is = entity.getContent();
      }catch(Exception e){
              Log.e("log_tag", "Error in http connection "+e.toString());
      }
      //convert response to string
      try{
  
              BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
              StringBuilder sb = new StringBuilder();
              String line = null;
              while ((line = reader.readLine()) != null) {
                      sb.append(line + "\n");
              }
              is.close();
  
              result=sb.toString();
      }catch(Exception e){
              Log.e("log_tag", "Error converting result "+e.toString());
      }
  
      //parse json data
      try{
              JSONArray jArray = new JSONArray(result);
  
  
              for(int i=0;i&lt;jArray.length();i++)
              {
                      JSONObject json_data = jArray.getJSONObject(i);
                      friend=new Friend(json_data.getString("email"),json_data.getString("password"), json_data.getString("fullName"), json_data.getString("mobilePhone"), json_data.getString("mobileOperatingSystem"),"",json_data.getString("photo"));
              }
      }
      catch(JSONException e){
              Log.e("log_tag", "Error parsing data "+e.toString());
      }
  
      return friend;
  }
  </code></pre>