gpt4 book ai didi

php - 如何在 SQL 查询中使用动态表 "Select * From $var; "$var 正在从另一个文件中获取

转载 作者:行者123 更新时间:2023-11-30 22:01:38 25 4
gpt4 key购买 nike

在下面的代码中,我想使用 $var 作为表名,$var 的值来自另一个文件。 $var 值是表的名称。所以我想要 sql 查询中的动态表名。但是当我执行以下代码时,sql 查询没有采用 $var 值。但是当我在此文件中将 $var 值声明为静态值时,它会正确执行。所以请帮助我...如何在 sql 查询中使用变量作为表名。

include_once("set_team.php");
// Create connection
$conn = mysqli_connect($server, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}


ob_start();
echo $table;
$var = ob_get_clean();

$sql = "SELECT * FROM $var";
$res = mysqli_query($conn,$sql);
$result = array();


while($row = mysqli_fetch_array($res)){
array_push($result,
array('name'=>$row[1]
));
}
echo json_encode(array("result"=>$result));


$conn->close();

最佳答案

是的,您可以在 sql 中动态选择表。您将必须传递变量然后使用它。 Php 提供变量插值,我觉得它更容易编写和读取,因此您可以直接在字符串中插入 $var_value。

可以尝试session、cookies、GET、POST变量等方法。

session :

//On page 1
$_SESSION['varname'] = $var_value;

//On page 2
$var_value = $_SESSION['varname'];
$sql_query = "select * from $var_value";

在尝试访问 $_SESSION 数组之前,以及在将任何输出发送到浏览器之前,在这两个页面上运行 session_start() 语句。

Cookie:

//One page 1
$_COOKIE['varname'] = $var_value;

//On page 2
$var_value = $_COOKIE['varname'];
$sql_query = "select * from $var_value";

session 和 cookie 之间的最大区别在于,如果您使用 session ,变量的值将存储在服务器上,如果您使用 cookie,则变量的值将存储在客户端。

GET 和 POST

您可以在指向下一页的链接中添加变量:

$var_value = $_POST['varname'];
$sql_query = "select * from $var_value";

or

$var_value = $_GET['varname'];
$sql_query = "select * from $var_value";

这将创建一个 POST/GET 变量。

关于php - 如何在 SQL 查询中使用动态表 "Select * From $var; "$var 正在从另一个文件中获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43176337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com