php - 在另一个 php 文件中选择同一个表

标签 php mysql

假设我在 mySQL 数据库中有很多表。现在,在名为“A.php”的 PHP 页面中,我使用文本框选择了一个特定的表,并在另一个名为“B.php”的 PHP 页面上查看了查询。假设获取我使用的表的变量是,

$tablename=$_POST['textbox'];

查询是,

$sql="SELECT * FROM $tablename WHERE id= '$id'";

然后,假设我插入了一条记录,现在,我想在另一个名为“C.php”的 PHP 页面中查看我的记录,但我选择了“B.php”中的表作为变量,而且我有很多表,但我想要在“B.php”中选择的特定表。我怎样才能做到这一点?急需这种帮助。提前发送!

最佳答案

您可以将表名存储在用户的 session 中,以使其在页面加载时保持不变。

首先,开始 session 。这需要添加到 A.php、B.php 和 C.php 的顶部:

session_start();

接下来,将数据存储在 session 变量中:

$_SESSION['tablename'] = $_POST['textbox'];

然后您可以在任何访问 session 的脚本中需要的任何地方使用该值:

$tablename = $_SESSION['tablename'];

请注意,正如评论者指出的那样,您的 MySQL 语句对 SQL 注入(inject)是开放的。如果必须使用 mysql_* 函数,至少清理数据:

$tablename = mysql_real_escape_string( $_SESSION['tablename'] );

更好的做法是禁止用户直接输入表名:相反,允许他们从列表中进行选择并在内部进行翻译,这样您就可以确保表名有效且格式正确。

有关详细信息,请参阅 How to prevent SQL injection in PHP?

最后,考虑从已弃用的 mysql_* 函数转移到 mysqliPDO .这些 API 提供了大量功能来帮助您保护数据。

关于php - 在另一个 php 文件中选择同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302863/

相关文章:

Java 服务器将只接受来 self 的客户端的一个条目

c# - 尝试在没有 Entity Framework 的情况下使用表单发布——我放弃了,但会保持打开状态,以防它帮助某人......在某个地方

php - 从同一个连接表中获取两个值

javascript - 如何使用 DashboardController 和 js 将 Id 从一个表获取到另一个表

php - 将数组从 php 发送到 html <li>

php - php定时向用户界面推送数据的方法

php - 未知列错误,即使表中显然存在相同名称的列

在 Mac OS X Leopard (10.5.8) 上使用 Sendmail 的 PHP mail()

php - curl 超时和连接超时的最佳值

php - 如何从 PHP 中的多维数组中删除空值?