我有一个包含车辆列表的数据库,其中前三列用于使用 AJAX 填充链式选项值。这三个菜单可以在我的网站上选择特定的车辆。我被问到是否可以在第 3 方网站上提供此车辆查找,目的是使用三层菜单返回一个小的、可展开的字符串作为第 3 方网站上的 $_POST 数据。
请问实现此目标的最佳方法是什么?我可以启用远程连接,但在我知道如何充分保护它之前我对这样做很谨慎。
抱歉,如果这看起来很蠢!到目前为止,我还没有使用过本地主机以外的任何连接。
提前致谢
乔
最佳答案
我看不出有任何理由让第三方访问您的数据库。
既然看起来你想给他们提供相当少量的公共(public)可访问数据,为什么不简单地在你自己的网站上有一个 url 来返回 XML 或 JSON 格式的数据,他们可以为所欲为与。
这解决了您的直接需求,如果需要,您可以将其开发成更复杂的服务。
这是一些简单的 PHP,您可以使用它以 JSON 格式返回数据。将 SQL 替换为适合您的数据库的内容。
$sth = mysql_query("select m.make, l.model, i.count from makes m, models l, inventory i where i.makeid = makeid and i.modelid = l.modelid");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
$rows[] = $r;
}
print json_encode($rows);
重要说明:此代码很简单,但如果您想接受来自第三方的输入,则不适合。如果你想让他们,例如查询您有多少辆福特汽车,您需要一个准备好的语句,例如 PDO :
$stmt = $pdo->prepare("select i.count from makes m, inventory i where i.makeid = makeid and make = :make");
$stmt->execute(array(':make' => $make));
关于php - 来自另一台服务器的安全 MySQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671667/