我是php的新手,在跨多个列插入数据时遇到了一些麻烦。
这是我的php
<?php
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room']."' AND '".$_REQUEST['DateofEvent']."')");
?>
它使用此代码获取Android的结果
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("room","Boole 1"));
nameValuePairs.add(new BasicNameValuePair("DateofEvent","2011-01-01"));
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/databasewrite.php");
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());
}
}
实际上,我认为问题可能出在php中。当我将它作为插入的一列时,它可以工作,但只要放入逗号,它就不会
任何帮助将不胜感激。
由于
答案 0 :(得分:1)
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room']."' , '".$_REQUEST['DateofEvent']."')");
试试这样吗?使用“,”而不是“AND”
分隔值答案 1 :(得分:1)
改变这个:
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room']."' AND '".$_REQUEST['DateofEvent']."')");
到此:
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room'].",".$_REQUEST['DateofEvent']."')");
答案 2 :(得分:0)
这一行
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room']."' AND '".$_REQUEST['DateofEvent']."')");
应该是
mysql_query("Insert into rooms (Room,DateofEvent)
Values('".$_REQUEST['room']."' , '".$_REQUEST['DateofEvent']."')");
答案 3 :(得分:0)
您不会将VALUES
子句中的值与AND
一起加入。请使用逗号。
答案 4 :(得分:0)
请勿使用AND
分隔列,请使用逗号(,
)。
另外,您的代码很容易受到SQL注入。
答案 5 :(得分:0)
在INSERT-syntax上阅读更多内容,因为这是你犯的一个基本错误。将AND
工作替换为,
,它将起作用。
顺便提一下,请阅读一篇关于SQL注入的好文章。您必须从查询中使用的用户转义输入,或者任何人都可以删除,读取和修改整个数据库!