在 SELECT 语句中插入一个变量
insert a variable in SELECT statement
我有这个代码:
$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
提出请求
如果参数的格式为 id,username,email
,您可以像这样附加新的:
$params .= ',telephone';
请记住:这是一种非常不安全的连接数据库的方式,请阅读 SQL Incjection
您可以阅读一些内容 here。
您需要做的是发送一个带有您想要的变量的获取请求。它可能看起来像这样:
<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>';
?>
我认为你应该使用双引号来解析变量值。
而不是:
$result = R::getAll( 'SELECT $params FROM user');
尝试:
$result = R::getAll("SELECT $params FROM user");
我有这个代码:
$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
如果参数的格式为 id,username,email
,您可以像这样附加新的:
$params .= ',telephone';
请记住:这是一种非常不安全的连接数据库的方式,请阅读 SQL Incjection
您可以阅读一些内容 here。
您需要做的是发送一个带有您想要的变量的获取请求。它可能看起来像这样:
<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>';
?>
我认为你应该使用双引号来解析变量值。
而不是:
$result = R::getAll( 'SELECT $params FROM user');
尝试:
$result = R::getAll("SELECT $params FROM user");