execute+like+php,php - 如何在PHP Query中编写LIKE语句? - 堆栈内存溢出

我正在创建一个可以使用输入单词的最后一个字母检索单词的应用程序。 例如,在我的现有数据库中,序列是Appl e > E lephan t > T rai n > N erv e > E ducatio n > N ewspape r >我将输入R ecipe,因为这是前一个单词的最后一个字母。 我的问题是我无法得到答复。 应用程序必须提供一个单词,该单词以前一个单词的最后一个字母开头。 所以在tblcheckword中响应必须是E mphasis或E mpire,因为在我的查询中它是在rand()和LIMIT到1

SELECT word FROM tblcheckword WHERE word LIKE '$word.%' ORDER BY rand() NOT IN (SELECT ig_word FROM tbltempgame) LIMIT 1;

我正在使用LIKE语句来获取输入单词的最后一个字母。 但我仍然得到错误。

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rNlR3dS5wbmc=

这是我的PHP文件“checkplsv2.php”

$con = mysqli_connect("localhost", "root", "1234", "check") or die ("Error ".mysqli_error($con));

$word = $_POST["word"];

$sql = "SELECT word FROM tblcheckword where word like '$word.%' order by rand() not in (select ig_word from tbltempgame) LIMIT 1";

$result = mysqli_query($con, $sql) or die("Error in selecting ".mysqli_error($con));

$response = array();

if(mysqli_num_rows($result) > 0){

while($row = mysqli_fetch_array($result))

{

array_push($response, array("id"=>$row[0],"ig_word"=>$row[1],"meaning"=>$row[2]));

$retrieve = $row[1];

}

echo json_encode(array("server_response" => $retrieve));

}else{

echo "Retrieve failed";

}

mysqli_close($con);

?>

这是我的MainActivity.java

package com.example.keam.lastnato;

import android.app.Activity;

import android.os.AsyncTask;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.json.JSONException;

import org.json.JSONObject;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.util.ArrayList;

public class MainActivity extends Activity {

String id;

String word;

String ig_word;

InputStream is = null;

String result = null;

String line = null;

String data = "";

TextView disp;

String url = "http://192.168.22.16/checkplsv2.php";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

final EditText e_word = (EditText) findViewById(R.id.editText1);

Button select = (Button) findViewById(R.id.button1);

select.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

word = e_word.getText().toString();

select();

}

});

}

void select() {

class readThis extends AsyncTask {

@Override

protected String doInBackground(String... params) {

ArrayList nameValuePairs = new ArrayList();

nameValuePairs.add(new BasicNameValuePair("word", word));

try {

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost(params[0]);

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

HttpResponse response = httpclient.execute(httppost);

HttpEntity entity = response.getEntity();

is = entity.getContent();

Log.e("pass 1", "connection success ");

} catch (Exception e) {

Log.e("Fail 1", e.toString());

Toast.makeText(getApplicationContext(), "Invalid IP Address",

Toast.LENGTH_LONG).show();

}

try {

BufferedReader reader = new BufferedReader

(new InputStreamReader(is, "iso-8859-1"), 8);

StringBuilder sb = new StringBuilder();

while ((line = reader.readLine()) != null) {

sb.append(line);

}

is.close();

result = sb.toString();

Log.e("pass 2", "connection success ");

} catch (Exception e) {

Log.e("Fail 2", e.toString());

}

return result;

}

@Override

protected void onPostExecute(String result) {

try {

JSONObject json_data = new JSONObject(result);

ig_word = json_data.getString("server_response");

Toast.makeText(getBaseContext(), "Name: " +

ig_word,Toast.LENGTH_SHORT).show();

TextView disp = (TextView) findViewById(R.id.textView);

disp.setText(ig_word);

} catch (JSONException e) {

Log.e("Fail 3", e.toString());

Log.e("log_tag", "Failed data was: " + result);

}

}

@Override

protected void onPreExecute() {

}

@Override

protected void onProgressUpdate(Void... values) {

}

}

readThis hello = new readThis();

hello.execute(new String[]{url});

}

}

这是我的activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.example.keam.lastnato.MainActivity">

android:id="@+id/editText1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="39dp"

android:padding="11dp"

android:hint="Player's Turn"

android:ems="10"

android:inputType="text">

android:id="@+id/button1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/editText1"

android:layout_centerHorizontal="true"

android:layout_marginTop="24dp"

android:onClick="parseJSON"

android:padding="11dp"

android:text="Select" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="New Text"

android:id="@+id/textView"

android:layout_centerVertical="true"

android:layout_centerHorizontal="true" />

这是我在WAMP phpmyadmin中的tblcheckword和tbltempgame

数据库名称=“检查”

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9GYmUyTS5wbmc=

这是我的logcat错误。

09-04 19:23:52.051 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.051 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.051 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.media.session.MediaController', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.051 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.widget.Toolbar', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.061 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.app.ActivityManager$TaskDescription', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.071 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.071 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.071 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.app.SharedElementCallback', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.081 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.app.assist.AssistContent', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.091 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.view.SearchEvent', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:23:52.091 11820-11820/com.example.keam.lastnato E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method com.example.keam.lastnato.MainActivity.access$super

09-04 19:24:01.960 11820-12003/com.example.keam.lastnato E/pass 1: connection success

09-04 19:24:01.960 11820-12003/com.example.keam.lastnato E/pass 2: connection success

09-04 19:24:01.960 11820-11820/com.example.keam.lastnato E/Fail 3: org.json.JSONException: Value Retrieve of type java.lang.String cannot be converted to JSONObject

09-04 19:24:01.960 11820-11820/com.example.keam.lastnato E/log_tag: Failed data was: Retrieve failed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值