【发布时间】:2013-07-25 11:12:56
【问题描述】:
我当前的 android 应用程序允许用户键入聊天室名称,我将在其中使用存储为数据库名称的名称。因此,存储的名称将用于使用 PHP Web 服务连接到数据库。我知道有一些解决方案正在编辑 pg_ident.conf 文件,允许将 www-data 识别为访问数据库的用户之一。但是,我希望有更好的解决方案。提前感谢您提供的帮助。
这是我收到的错误消息
警告:pg_connect() [function.pg-connect]:无法连接到 PostgreSQL 服务器:致命:角色“www-data”不存在。
PHP 代码 (blabla.php)
<?php
$host = "localhost";
$user = "bbcc";
$db=$_POST['name'];
$passwd = "abc";
$con = pg_connect("host=$host dbname=$db user=$user password=$passwd") or die ("Could not connect to server\n" . pg_last_error());
?>
Java代码sn-p
private void valid() {
String room = "abcd";
try{
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 20 * 1000);
HttpConnectionParams.setSoTimeout(params, 30 * 1000);
HttpClient httpclient = new DefaultHttpClient(params);
HttpPost httppost = new HttpPost("http://111.11.111.000/script/blabla.php");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name", room));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
}catch(Exception e){
e.printStackTrace();
}
}
【问题讨论】:
-
您是否在 Postgres 中创建了用户 www-data?也许不是。老实说:希望每个房间都有一个数据库或其他任何东西表明对如何使用关系数据库存在严重误解!通常每个应用程序都有一个数据库,一个或多个 TABLES 来保存模型,并且您的房间将是表中的单个 ROW。帮自己一个忙,阅读一些关于数据库的教程,它将获得 10 倍的回报!
-
Gyro,感谢您的建议,我从没想过将 www-data 更改为 Postgres 中的用户之一,因为它完全不碍事,对数据库结构进行了一些更改,谢谢指出出路,干杯
标签: java php android postgresql-9.1