php - 如何使用 PHP 和 MySQL 处理带链接的数据库信息更改?

标签 php mysql

假设我有一个带有产品页面的网站,该页面显示有关产品的信息,该信息由 product.php 使用产品名称上的 GET 生成并从 MySQL 数据库获取信息。现在,偶尔会更改产品名称。这种情况很少发生,但它会发生。

名称更改后,指向 www.website.com/product.php?productname=Toaster400 的旧链接显然不再有效。但是,我希望这些链接重定向到正确的页面。我还希望允许人们搜索“Toaster400”,即使更正后的名称是“Toaster400a”。

我只想到了一个解决方案,那就是在 MySQL 中有一个“旧名称”表。如果在 Product 表中找不到某个产品,那么我可以检查“旧名称”表并查看该旧名称与哪个产品相关。

这是解决这个问题的最佳方式吗?谢谢。

谢谢。

编辑:

代码如下:

//This just initializes the database connection
require __DIR__ . "/resources/database.php";

//checks to see if they searched for anything
if(isset($_GET['search_text'])) {
    $name = $_GET['search_text'];

    $db = getDbConnection();
    //This is a stored procedure which is literally just a select for % . ? . %
    $stmt = $db->prepare("CALL get_products(?)");
    $stmt->bindParam(1, $name, PDO::PARAM_STR, 150);
    $isQueryOk = $stmt->execute();
    $results = array();

代码然后检查返回了多少行并相应地重定向。

最佳答案

您可以考虑产品表中的“标签”列。例如:

表格列

id->1
Product name-> test
tags->test

更新后,列的值为

id->1
product name->testupdate
tags->test, testupdate

通过这样做,您可以搜索重命名的产品。希望这有帮助。:)

关于php - 如何使用 PHP 和 MySQL 处理带链接的数据库信息更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32321669/

相关文章:

php - 在 Linux 上本地运行初始设置后的 WordPress "Notice: Undefined index: host"

php - Elasticsearch 中可选的自父关系

php - 如何 : validate the existence of a database relationship in Laravel 4?

java.sql.SQLException : Parameter index out of range (1 > number of parameters, 为 0)

php - 无法通过一条删除语句从多个 MySQL 表中删除数据

php - 无法使用 PDO::FETCH_ORI_ABS 进行 PDO 倒带

javascript - 调用ajax了解学分

PHP:具有多重排序的多维数组

php - 将 mySQL 中的数据显示到 Laravel 中的 View 时出错

mysql - 无法连接到 'localhost' 上的 MySQL 服务器 (10055)