是否可以在Angular框架中访问MySQL数据库,或者像其他Javascript一样不安全,我需要发布到PHP页面以从数据库中检索data/json
答案 0 :(得分:4)
1-是否可以在角度框架中访问MySQL数据库?
问题不是角度特定的,而是是可能,因为MySQL 5.7可以通过HTTP插入,更新和删除MySQL中的记录。像这样的东西
http://127.0.0.1:8080/sql/myhttp/SELECT+name_first,+name_last+FROM+names
refer here
因此,您可以直接与任何HTTP客户端进行MySQL交互 任何中间件。
通过HTTP客户端,我的意思是Curl,Wget或任何语言的任何Http库/ API(ajax,请求,获取,axios ...用于JavaScript /节点)
2 - 这会像其他JavaScript一样不安全吗?
同样不是特定于JavaScript的,但是不安全(不推荐)直接从客户端与数据库交互。 为什么? 您需要从客户端处理SQL注入等数据库安全问题(在这种情况下为角度)。这样做非常不方便。
我建议始终拥有数据库访问中间件 (php,node,python ...),而不是从客户端进行交互
答案 1 :(得分:0)
我不推荐使用FireBird,因为它很快就会产生限制,而且还有很多你无法看到的缺点,这篇文章详细介绍了这个问题。 Crisp.chat - Why you should never use firebird我个人建议使用后端PHP进行发布和拉取以确保数据库安全性和更多可能需要的后端复杂逻辑,使用MySQL进行常规用途,如博客,用户等,但id个人建议使用MongoDB进行聊天功能但这取决于你。
答案 2 :(得分:-3)
Pet
我们想在angularjs脚本(yourfile.php)中调用的php文件
// Application module
var dbApp = angular.module('dbApp',[]);
dbApp.controller("DbController",['$scope','$http', function($scope,$http){
// Function to get data from the database
getDatafromDatabase();
function getDatafromDatabase(){
// Sending request to php files
$http.post('databaseFiles/yourfile.php').success(function(data){
// Stored the returned data into scope
$scope.dbData = data;
});
}
HTML文件看起来像这样
<?php
// Including database connections
require_once 'database_connections.php';
// mysqli query to fetch all data from database
$query = "SELECT * from [table_name] ORDER BY [table_column]";
$result = mysqli_query($con, $query);
$arr = array();
if(mysqli_num_rows($result) != 0) {
while($row = mysqli_fetch_assoc($result)) {
$arr[] = $row;
}
}
// Return json array containing data from the databasecon
echo $json_info = json_encode($arr);
?>
我希望它可以帮到你