我正处于为一家与我合作的公司建立一个网站的计划阶段。该公司是一家电子批发商,并希望得到一个更好的网络存在。目前他们的POS系统采用PervasiveSQL作为数据库。我将使用MySQL的网站DB和PHP的语言。
我想集成这个网站与这个当前的数据库,但是,我想让网站使用它自己的数据库,以防入侵发生,一切都不会被破坏。当网站接受一个订单,我希望它也被复制到他们的POS系统。
我该怎么做才能做到这一点?我是否只是在代码中写入第二个INSERT语句并插入到两个数据库中?我是否可以使用一种方法:当数据库中插入了一些内容时,它将触发一个事件,该事件接收插入的信息并将其放置到另一个数据库中?我之所以这样问,是因为当一个新产品或客户帐户被添加到原始POS系统中时,我希望将这些信息放在网站数据库中。
发布于 2013-11-10 05:47:59
根据您的描述,您可能做的是让网站使用只读凭据访问POS系统的数据库。那么你就不需要重复数据了。如果有人利用该网站进行攻击,攻击者将无法对POS数据库进行写入访问。
如果您需要从web应用程序写入POS数据库,并且考虑给它直接访问,您可以在两者之间放置一个web服务(只能从内部网络访问),并调用它而不是直接访问POS数据库。实际上,将web服务放在适当的位置也是从POS系统读取信息的好方法。
基本上,复制数据和保持同步可能是一个很大的问题,在这种情况下最好避免。
发布于 2013-11-10 09:45:27
您没有说明如何编写数据库连接代码,但是可以同时连接多个数据库,因为没有任何限制。
让我们假设您正在使用PDO。
要连接到2个数据库,可以使用:
$db1 = new PDO('mysql:host=localhost;dbname=database1;charset=utf8',
'username1', 'password1');
$db2 = new PDO('mysql:host=localhost;dbname=database2;charset=utf8',
'username2', 'password2');这将导致两个数据库引用-- $db1和$db2
若要插入两个数据库,请在查询提交中使用引用。
$result1 = $db1->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");
$result2 = $db2->exec("INSERT INTO table(firstname, lastname) VAULES('John', 'Doe')");https://stackoverflow.com/questions/19886621
复制相似问题