【发布时间】:2018-01-20 16:12:11
【问题描述】:
我正在为 android 应用程序和网站使用一个数据库。因此管理员可以通过一个管理面板一次更新网站和安卓应用程序。对于 android 应用程序,数据库是通过 API 连接的。问题是只有当我删除与应用程序无关的表时,android 应用程序才能顺利运行。数据库包含 15 个表。其中 3 个表共同用于 android 应用程序和网站。如果我删除除了这 3 个表之外的其余表,android 应用程序运行顺利。但是如果我不删除其他表,android 应用程序几乎不会获取数据。同时,如果我运行网站(在应用程序加载时)网站无法加载。
This site can’t be reached
........took too long to respond.
ERR_CONNECTION_TIMED_OUT
我认为以下代码有问题。
api.php
$con = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8;","$dbuser","$dbpass");
if(isset($_GET['cat_id'])){
$result=$con->prepare("SELECT * FROM tbl_news_category c,tbl_news n WHERE c.cid=n.cat_id and c.cid='".$_GET['cat_id']."' ORDER BY n.nid DESC");
}
else if(isset($_GET['latest_news'])){
$limit=$_GET['latest_news'];
$result=$con->prepare("SELECT * FROM tbl_news_category c,tbl_news n WHERE c.cid=n.cat_id ORDER BY n.nid DESC LIMIT $limit");
}
else if(isset($_GET['apps_details'])){
$result=$con->prepare("SELECT * FROM tbl_settings WHERE id='1'");
}
else{
$result=$con->prepare("SELECT * FROM tbl_news_category ORDER BY cid DESC");
}
$set = array();
$result->execute();
$total_records = $result->rowCount();
if($total_records >= 1){
while($link=$result->fetch(PDO::FETCH_ASSOC)){
$set['NewsApp'][] = $link;
}
}
echo $val= str_replace('\\/', '/', json_encode($set));
?>
强行终止android应用程序后,网站运行流畅。第一次秋天,我认为这是缓存/连接性差的问题。我更改了互联网连接,清除了缓存,使用了其他设备、PC、浏览器。但是问题解决不了。如果我使用两个数据库,它工作正常。我不想在两个数据库中存储相同的内容。实际上是什么导致了问题,托管服务器或代码??
【问题讨论】:
标签: php android mysql database