开发者社区> 问答> 正文

linux虚拟主机上的PHP与数据库进行通讯应该如何配置

已解决

我的虚拟主机上架设了个Discuz!论坛,并自建有php后台程序与数据库表单,php程序与论坛数据库表单、自建表单都有通讯,与论坛表单的通讯仅限于查询,采用的是如下语句:
$*** = DB::fetch_first("SELECT * FROM ".DB::table('***')." WHERE ***='***'");
与论坛有配置通讯程序,可正常通讯;
与自建表单的通讯需要 insert 与 update ,采用的是如下语句:
if (***) {
        $query = "update *** set 'data' where *** = '***'";
    } else {
        $query = "insert into *** (***) values (***)";
    }
    $result = mysql_query($query);
这套程序我在自己电脑上测试是可以正常写入数据库的,但是在虚拟主机上就只能查询无法写入。
我看了《 MySQL数据库使用PHP代码连接实例》在网站目录下配置了 mysql.php 程序,输入数据库连接地址、账户、密码,但是提交后返回空白没有信息,在我的php程序中也添加以下代码:
$dbh = mysql_connect(' localhost',' 数据库用户名',' 数据库密码');
mysql_select_db(' 数据库名'); 其中红字都修改成我的数据库信息。
但是仍然不能写入,请问我还需要怎样配置我的php代码才能实现写入数据库?

展开
收起
fan723 2018-10-29 10:21:05 787 0
3 条回答
写回答
取消 提交回答
  • 采纳回答
    我的主机是linux的,php是7.1的,mysql是5.1.73的,架设的是Discuz!论坛,经过多番测试,
    直接用SQL语句操作数据库一直失效,包括创建连接,没有返回任何信息,不成功也不失败,
    但是用Discuz!的数据库操作语句就有返回,所以我认为是阿里的数据库可能存在以下两种情况:
    1.各个系统版本间缺乏兼容模式。
    2.存在防火墙阻碍不知名的数据库操作。
    2018-10-30 08:06:20
    赞同 展开评论 打赏
  • Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题,对代码审计以及漏洞修补安全加固有专业的十年实战经验.官方站点www.sinesafe.com
    localhost 这里不能写本地地址 要写mysql的数据库地址如:qdm150698123.my3w.com
    2018-10-29 10:29:40
    赞同 1 展开评论 打赏
  • 乐善好施
    虚拟主机的数据库 地址 不是localhost,请参考虚拟主机 数据库页面查看 数据库地址 用户名 等信息
    2018-10-29 10:26:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载