我有这样的代码:
$params = $_GET["params"];
print $params;
if ($_SERVER['REQUEST_METHOD'] == "GET") {
--->//$result = R::getAll( 'SELECT $params FROM user');
} elseif ($_SERVER['REQUEST_METHOD'] == "POST") {
}
echo json_encode($result);如何正确地将$params变量设置到响应中。我通过RedBeanPhP提出请求
发布于 2019-02-06 11:33:35
我认为您应该使用双引号来解决变量值。
而不是:
$result = R::getAll( 'SELECT $params FROM user');尝试:
$result = R::getAll("SELECT $params FROM user");发布于 2019-02-06 11:29:18
如果params是以id,username,email格式出现的,您只需追加如下新的:
$params .= ',telephone';请记住:这是一种非常不安全的连接数据库的方式,请阅读有关 SQL注入的内容。
发布于 2019-02-06 11:30:28
你可以读一些关于它的这里。
你需要做的是发送一个get请求和你想要的变量。看起来可能是这样的:
<form action="#" method="get">
Some variable
<input type="text" name="params" value="Foobar"><br>
<input type="submit" value="Submit">
</form>
<?php
$params = $_GET["params"];
echo '<pre>';
print_r($params);
echo '</pre>';
/* This is redundant, considering your question
if ($_SERVER['REQUEST_METHOD'] == "GET") {
--->//$result = R::getAll( 'SELECT $params FROM user');
} elseif ($_SERVER['REQUEST_METHOD'] == "POST") {
}
echo json_encode($result);
*/
?>解释
代码的这一部分是一个表单,其中将方法设置为get请求。操作目的地是#,这意味着您要将其发送到与其发送的页面相同的页面。并将变量$_GET['params']定义为等于Foobar。当你按下提交按钮时,它就被提交了。
<form action="#" method="get">
Some variable
<input type="text" name="params" value="Foobar"><br>
<input type="submit" value="Submit">
</form><?php
$params = $_GET["params"]; // This sets the `params`-get-variable.
echo '<pre>';
print_r($params); // This prints it, so it looks pretty. :-)
echo '</pre>';
?>https://stackoverflow.com/questions/54552533
复制相似问题