PHP到MySql - 只会写一列,而不是多列

时间:2011-12-08 14:17:56

标签: php android mysql

我是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中。当我将它作为插入的一列时,它可以工作,但只要放入逗号,它就不会

任何帮助将不胜感激。

由于

6 个答案:

答案 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注入的好文章。您必须从查询中使用的用户转义输入,或者任何人都可以删除,读取和修改整个数据库!

只需Google on SQLInjection并查看mysql_real_escape_string()了解详情!