在SELECT语句中插入变量

时间:2019-02-06 11:24:56

标签: php mysql redbean

我有此代码:

$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

发出请求

3 个答案:

答案 0 :(得分:1)

我认为您应该使用双引号来解析变量值。

而不是:

$result = R::getAll( 'SELECT $params FROM user');

尝试:

$result = R::getAll("SELECT $params FROM user");

答案 1 :(得分:0)

如果参数采用id,username,email格式,则可以像这样附加新参数:

$params .= ',telephone';

请紧记:这是一种非常不安全的连接数据库的方法,请参阅SQL Incjection

答案 2 :(得分:0)

您可以阅读有关here的内容。

您需要做的是发送一个get-request以及您想要的变量。看起来可能像这样:

<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);
*/
?>

说明

HTML

这部分代码是一个表单,您可以在其中将方法设置为get-request。操作目标是#,这意味着您将其发送到发送该消息的同一页面。然后将变量$_GET['params']定义为等于Foobar。当您按下提交按钮时,它就会被提交。

<form action="#" method="get">
  Some variable
  <input type="text" name="params" value="Foobar"><br>
  <input type="submit" value="Submit">
</form>

PHP

<?php
$params = $_GET["params"]; // This sets the `params`-get-variable.
echo '<pre>';
print_r($params); // This prints it, so it looks pretty. :-)
echo '</pre>';
?>