Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法使用MySQL数据库并从中检索数据_Php_Android_Mysql_Database_Json - Fatal编程技术网

Php 无法使用MySQL数据库并从中检索数据

Php 无法使用MySQL数据库并从中检索数据,php,android,mysql,database,json,Php,Android,Mysql,Database,Json,我试图根据用户提供的一些特定参数从数据库中检索学校列表。我有很多代码,但我找不到我的错误,需要一些帮助。我花了6个多小时研究并试图解决这个问题。我似乎无法修复它。我将感谢任何帮助 这是一个连接到MySQL数据库的android应用程序 以下是单击按钮时启动搜索的代码: btnGetSchool.setOnClickListener(new View.OnClickListener() { @Override public void onClick

我试图根据用户提供的一些特定参数从数据库中检索学校列表。我有很多代码,但我找不到我的错误,需要一些帮助。我花了6个多小时研究并试图解决这个问题。我似乎无法修复它。我将感谢任何帮助

这是一个连接到MySQL数据库的android应用程序

以下是单击按钮时启动搜索的代码:

btnGetSchool.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                String city = inputCity.getText().toString();
                String school = inputSchoolName.getText().toString();
                String state = chooseState.getSelectedItem().toString();
                UserFunctions userFunction = new UserFunctions();
                JSONObject json = userFunction.getSchool(school, state, city);



                try {
                    schoolText.setText(json.getString(""));

                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


            }


        });
以下是我的UserFunctions.java代码:

public JSONObject getSchool(String school, String state, String city) {
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("school", school));
        params.add(new BasicNameValuePair("state", state));
        params.add(new BasicNameValuePair("city", city));


        JSONObject json = jsonParser.getJSONFromUrl(getSchoolURL, params);
        return json;
    }
总结一下,我将添加我的错误:

02-01 23:32:03.260: E/AndroidRuntime(12803): FATAL EXCEPTION: main
02-01 23:32:03.260: E/AndroidRuntime(12803): java.lang.NullPointerException
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.fbla.sap.CreateAccFragment$2.onClick(CreateAccFragment.java:148)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.view.View.performClick(View.java:4475)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.view.View$PerformClick.run(View.java:18784)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Handler.handleCallback(Handler.java:730)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Handler.dispatchMessage(Handler.java:92)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Looper.loop(Looper.java:137)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.app.ActivityThread.main(ActivityThread.java:5450)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at java.lang.reflect.Method.invokeNative(Native Method)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at java.lang.reflect.Method.invoke(Method.java:525)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at dalvik.system.NativeStart.main(Native Method)
改变

返回mysql\u fetch\u数组($schresult)


返回mysql\u fetch\u数组($schsearch)

在SQL查询中的
schu state
中缺少开头的反勾号。这个问题有很多错误。你在我们身上扔了大量的代码,而且还不完整。您希望我们在不进行任何调试的情况下发现未指定的错误。你必须缩小问题的范围。从PHP端开始,调试它并确保它正常工作。然后向上移动。学习一些正确的调试技巧。PHP代码片段给出的任何异常都可能提供更多有用的信息。我建议从PHP块开始解决这个问题。问题是,我不知道我到底在做什么。我已经做了好几个小时的调试,但都没有用。我直接跳了进去,所以我不一定知道如何修复这些东西。
public function schoolSearch($school, $state, $city){

        $schsearch=mysql_query("
                SELECT `sch_name`, `sch_id`,sch_state`,`sch_city`
                FROM `schools`
                WHERE (`sch_name`=$school) AND (`sch_state`=$state) AND (`sch_city`=$city)
            ");
            /**$searchresult=array();-
            while($schresult=mysql_fetch_array($schsearch)) {

                array_push($searchresult, $schresult['sch_id']."=>".$schresult['sch_name']);


            }**/

            return mysql_fetch_array($schresult);

            /**if (count($searchresult) > 0) {
                return $searchresult;
            } else {
                return false;
            }**/


    }
02-01 23:32:03.260: E/AndroidRuntime(12803): FATAL EXCEPTION: main
02-01 23:32:03.260: E/AndroidRuntime(12803): java.lang.NullPointerException
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.fbla.sap.CreateAccFragment$2.onClick(CreateAccFragment.java:148)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.view.View.performClick(View.java:4475)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.view.View$PerformClick.run(View.java:18784)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Handler.handleCallback(Handler.java:730)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Handler.dispatchMessage(Handler.java:92)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.os.Looper.loop(Looper.java:137)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at android.app.ActivityThread.main(ActivityThread.java:5450)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at java.lang.reflect.Method.invokeNative(Native Method)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at java.lang.reflect.Method.invoke(Method.java:525)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
02-01 23:32:03.260: E/AndroidRuntime(12803):    at dalvik.system.NativeStart.main(Native Method)