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

在另一个php文件中选择相同的表,php,mysql,Php,Mysql,假设mySQL数据库中有许多表。现在在一个名为“a.PHP”的PHP页面中,我使用textbox选择了一个特定的表,并在另一个名为“B.PHP”的PHP页面上查看了查询。假设获取我使用的表的变量是 $tablename=$_POST['textbox']; 问题是 $sql="SELECT * FROM $tablename WHERE id= '$id'"; 然后,假设我插入了一条记录&现在,我想在另一个名为“C.PHP”的PHP页面中查看我的记录,但我选择了“B.PHP”中的表作为变量&

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

$tablename=$_POST['textbox'];
问题是

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

然后,假设我插入了一条记录&现在,我想在另一个名为“C.PHP”的PHP页面中查看我的记录,但我选择了“B.PHP”中的表作为变量&我有很多表,但我希望在“B.PHP”中选择特定的表。我该怎么做?我非常需要这个帮助。提前通知Tnx

使用session在脚本之间保持数据的持久性(推荐)或将值作为GET变量传递。但无论您要做什么,都要先熟悉SQLInjection,因为您的代码就像是在自找麻烦。

使用session在脚本之间保持数据的持久性(推荐)或将值作为GET变量传递。但是无论您要做什么,首先要熟悉SQLInjection,因为您的代码就像是在自找麻烦。

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

首先,启动会话。这需要添加到A.php、B.php和C.php的顶部:

session_start();
接下来,将数据存储在会话变量中:

$_SESSION['tablename'] = $_POST['textbox'];
然后,您可以在访问会话的任何脚本中使用该值:

$tablename = $_SESSION['tablename'];
注意,正如评论员所指出的,您的MySQL语句对SQL注入是开放的。如果必须使用mysql_*函数,请至少清理数据:

$tablename = mysql_real_escape_string( $_SESSION['tablename'] );
更好的做法是不允许用户直接输入表名:相反,允许他们从列表中选择并在内部进行转换,以便确保表名有效且格式良好

有关详细信息,请参阅


最后,考虑从被删除的MySQL函数到OR。这些API提供了一系列功能来帮助您保护数据。

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

首先,启动会话。这需要添加到A.php、B.php和C.php的顶部:

session_start();
接下来,将数据存储在会话变量中:

$_SESSION['tablename'] = $_POST['textbox'];
然后,您可以在访问会话的任何脚本中使用该值:

$tablename = $_SESSION['tablename'];
注意,正如评论员所指出的,您的MySQL语句对SQL注入是开放的。如果必须使用mysql_*函数,请至少清理数据:

$tablename = mysql_real_escape_string( $_SESSION['tablename'] );
更好的做法是不允许用户直接输入表名:相反,允许他们从列表中选择并在内部进行转换,以便确保表名有效且格式良好

有关详细信息,请参阅


最后,考虑从被删除的MySQL函数到OR。这些API提供了一系列功能来帮助您保护数据。

欢迎来到SQLInjection的世界…可能比直接SQL注入更糟糕:该文本框需要一个
mysql。用户
插入其中。欢迎来到SQLInjection的世界…可能比直接SQL注入更糟糕:该文本框需要一个
mysql。用户
插入其中。