Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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
安卓&x2B;php+;mysql+;寄存器错误_Php_Android_Mysql_Error Handling_Registration - Fatal编程技术网

安卓&x2B;php+;mysql+;寄存器错误

安卓&x2B;php+;mysql+;寄存器错误,php,android,mysql,error-handling,registration,Php,Android,Mysql,Error Handling,Registration,我正在Android上创建一个简单的注册表单,以创建新的用途,并使用PHP MySQL将数据存储在数据库中 该应用程序运行良好,但问题是系统将数据插入数据库,但它会在模拟器上显示错误消息。如何修复此错误???有人能帮我吗 register.java package com.sencide; 导入java.io.IOException; 导入java.util.ArrayList; 导入java.util.List; 导入org.apache.http.HttpResponse; 导入org.ap

我正在Android上创建一个简单的注册表单,以创建新的用途,并使用PHP MySQL将数据存储在数据库中

该应用程序运行良好,但问题是系统将数据插入数据库,但它会在模拟器上显示错误消息。如何修复此错误???有人能帮我吗

register.java
package com.sencide;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.entity.UrlEncodedFormEntity;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.message.BasicNameValuePair;
导入org.apache.http.protocol.http;
导入org.apache.http.util.EntityUtils;
导入android.app.Activity;
导入android.os.Bundle;
导入android.os.StrictMode;
导入android.util.Log;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
公共类AndroidRegister扩展活动实现OnClickListener{
编辑文本uname,upass;
按钮寄存器;
文本视图结果;
字符串用户,通过;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
registerBtn=(按钮)findviewbyd(R.id.registerBtn);
registerBtn.setOnClickListener(此);
结果=(TextView)findViewById(R.id.resultText);
}
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
如果(v==registerBtn)
{
线程t=新线程(){
公开募捐{
registerData();
}
};
t、 start();
} 
}
公共无效注册表数据()
{
uname=(EditText)findViewById(R.id.username);
user=uname.getText().toString();
upass=(EditText)findViewById(R.id.password);
pass=upass.getText().toString();
尝试
{
//创建一个新的HttpClient和Post头
HttpClient HttpClient=新的DefaultHttpClient();
Log.e(“响应-->”,“在httpclient之后”);
/*如果用户名和密码等于saranga,login.php将返回true*/
HttpPost HttpPost=新的HttpPost(“http://10.0.2.2/register.php");
Log.e(“响应-->”,“在httppost之后”);
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“用户名”,用户));
添加(新的BasicNameValuePair(“密码”,pass));
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
Log.e(“response-->”,即“使用列表名对之后”);
//执行HTTP Post请求
w(“SENCIDE”,“执行HTTP Post请求”);
HttpResponse response=httpclient.execute(httppost);
Log.e(“response-->”,“在执行http响应之后”);
String str=EntityUtils.toString(response.getEntity(),HTTP.UTF_8);
Log.d(“STR”,STR);
if(str.toString().equalsIgnoreCase(“true”)){
runOnUiThread(新的Runnable(){
公开募捐{
result.setText(“注册成功”);
}
});
}否则{
runOnUiThread(新的Runnable(){
公开募捐{
result.setText(“Duh无寄存器”);
}
});
}
}
捕获(客户端协议例外e)
{     
e、 printStackTrace();
} 
捕获(IOE异常)
{
e、 printStackTrace();
}
}
}
原木猫
04-07 22:04:02.932:E/Response-->(469):在httpclient之后
04-07 22:04:02.932:E/Response-->(469):在httppost之后
04-07 22:04:03.033:E/Response-->(469):使用列表名称对后
04-07 22:04:03.033:W/SENCIDE(469):执行HTTP Post请求
04-07 22:04:03.552:E/response-->(469):在执行http响应之后
04-07 22:04:03.626:D/STR(469):
04-07 22:04:03.626:D/STR(469): 04-07 22:04:03.626:D/STR(469):(!)尖叫:错误抑制被忽略 04-07 22:04:03.626:D/STR(469):(!)警告:mysql_fetch_array()希望参数1是资源,布尔值在第27行的C:\wamp\www\register.php中给出 04-07 22:04:03.626:D/STR(469):调用堆栈 04-07 22:04:03.626:D/STR(469):#时间记忆功能位置 04-07 22:04:03.626:D/STR(469):10.0593142592{main}()..\register.php:0 04-07 22:04:03.626:D/STR(469):20.3134150008 04-07 22:04:03.626:D/STR(469):()…\register.php:27 04-07 22:04:03.626:D/STR(469):
单文件
错误在您的PHP文件中。如果您查看日志,您有:

警告:mysql\u fetch\u array()希望参数1是资源,布尔值在C:\wamp\www\register.php中给出

这就意味着您没有连接到数据库,或者您的查询格式不正确,或者您没有访问您试图读取的表的权限。PHP手册显示可能返回false-这负责创建
$sql
变量

请尝试以下方法:

$getid = @mysql_fetch_array($sql) or die(mysql_error());
这将告诉您错误是什么-可能值得在PHP端对此进行调试-通过Android和log要困难得多
04-07 22:04:02.932: E/Response-->(469): after httpclient
04-07 22:04:02.932: E/Response-->(469): after httppost
04-07 22:04:03.033: E/Responce-->(469): after using the list name pair
04-07 22:04:03.033: W/SENCIDE(469): Execute HTTP Post Request
04-07 22:04:03.552: E/Responce-->(469): after execute the http response
04-07 22:04:03.626: D/STR(469): <br />
04-07 22:04:03.626: D/STR(469): <font size='1'><table class='xdebug-error xe-warning xe-scream' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
04-07 22:04:03.626: D/STR(469): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> SCREAM: Error suppression ignored for</th></tr>
04-07 22:04:03.626: D/STR(469): <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\register.php on line <i>27</i></th></tr>
04-07 22:04:03.626: D/STR(469): <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
04-07 22:04:03.626: D/STR(469): <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
04-07 22:04:03.626: D/STR(469): <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0593</td><td bgcolor='#eeeeec' align='right'>142592</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\register.php' bgcolor='#eeeeec'>..\register.php<b>:</b>0</td></tr>
04-07 22:04:03.626: D/STR(469): <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.3134</td><td bgcolor='#eeeeec' align='right'>150008</td><td bgcolor='#eeeeec'><a href='http://www.php.net/mysql_fetch_array' target='_new'>mysql_fetch_array</a>
04-07 22:04:03.626: D/STR(469): (  )</td><td title='C:\wamp\www\register.php' bgcolor='#eeeeec'>..\register.php<b>:</b>27</td></tr>
04-07 22:04:03.626: D/STR(469): </table></font>
<?php
$host="localhost"; // Host name
$username="*****"; // Mysql username
$password="****"; // Mysql password
$db_name="testlogin"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['username'];
$mypassword=$_POST['password'];

// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$message = "";

$sql = mysql_query("INSERT INTO members (username, password)VALUES('$myusername', '$mypassword')")or die(mysql_error());

$message = "you have  now been registered";

$getid = mysql_fetch_array($sql);

            $_SESSION['login_user'] = $getid['username'];

?>
$getid = @mysql_fetch_array($sql) or die(mysql_error());