如何在angular 14上使用PHP向MySql数据库发出请求



我一直在开发一个曾经基于PHP的网站。每个文件和请求都是通过PHP发出的,但现在我将把它全部传递给Angular 14。我需要的与数据库的唯一交互是搜索文件名列表及其各自的作者和创建年份。

我想在";"角度友好方式";,为了避免变通办法。。。

我们目前拥有的php结构看起来类似于此:

$connect = new PDO 
('dbname','dbname','password');
$author = $_POST['name'];
$title= $_POST['title'];
$year= $_POST['year'];

选择项目:

$sql = $connect->query("select author, title, year, url from files where author LIKE '%$author %' and title LIKE '%$title%' and year LIKE '%$year%' order by author");

将显示搜索结果的表格:

while ($row = $sql->fetch(PDO::FETCH_ASSOC)) 
{
echo "<tr>";
echo "<td>".$row['autor']. "</td>";
echo "<td><a href='".$row['url']."' target='_blank'>" .$row['titulo']. "</a></td>";
echo "<td>" .$row['curso']. "</td>";
echo "<td>" .$row['ano']. "</td>";
echo "</tr>";
;
}
echo '</table>';

我不一定期待摆脱php代码,我愿意保留它。我想使用一个服务来订阅发布请求,就像我在使用API一样。

我也在考虑获得进入用";回声;而是将其绑定到HTML组件上。我会将数据订阅到component.ts文件上的一个属性,并将其数据绑定到我的组件上。

我刚开始学习如何将客户端连接到数据库端,所以我非常感谢任何关于如何实现此请求的帮助或提示。提前感谢!

在Angular中,您可能会使用httpClient类从服务器请求数据。你的代码会告诉它点击你服务器上的URL,比如

https://service.example.com/files.php?author=searchterm&title=searchterm

然后,您的服务器代码将以一个包含搜索结果的JSON对象作为响应,以便对角度友好。因此,php代码将创建JSON,而不是示例中的HTML表。也许是这样的:没有调试。它生成一个angular可以读取的$item对象数组,用JSON对其进行编码,并将其发送到客户端。

header('Content-Type: application/json; charset=utf-8');
$result = [];
while ( $row = $sql->fetch( PDO::FETCH_ASSOC ) ) {
$item = [];
$item ['autor'] = $row['autor'];
$item ['titulo'] = $row['titulo'];
$item ['url'] = $row['url'];
$result [] = (object) $item;
}
echo json_encode( $result );

在一个完美的世界中,您的服务器代码将实现一个REST API来处理这些文件。但这是一个有用的开始。

请处理您的SQL注入问题。因为网络犯罪分子喜欢找到这种API,并用它来攻击像你这样的服务器。

最新更新