首页 > 解决方案 > 使用 PHP?= 在页面之间导航

问题描述

我可以使用 ID 但不使用项目名称在 php 页面之间导航。只能用数字不能用字符吗?

作品

  $sql = "SELECT id, assigned, project, start, end, status
         FROM projects
         WHERE id=$id";

  <a href="project.php?id='.$row['id'].' ">'.$row['project'].'</a>
  page url: https://example.com/project.php?id=1

不工作

  $sql = "SELECT id, assigned, project, start, end, status
         FROM projects
         WHERE project=$project";

  <a href="project.php?project='.$row['project'].' ">'.$row['project'].'</a>
   page url: https://example.com/project.php?project=Test

谢谢您的帮助!

标签: php

解决方案


MySQL 对字符串使用单引号或双引号。您的第二个查询将字符串放入查询中,导致查询无效。

不是一个有效的 SQL 查询:

SELECT `name` FROM `cats` WHERE `breed` = ordinary cat

但这是:

SELECT `name` FROM `cats` WHERE `breed` = 'ordinary cat'

值得注意的是,在您的查询中使用任何输入(包括查询字符串)时要小心,就像您所做的那样。您应该使用准备好的语句来安全地为您的查询转义该字符串。


推荐阅读