вставить переменную в операторе SELECT - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть этот код:

$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 голосов
/ 06 февраля 2019

Вы можете прочитать немного об этом здесь .

Что вам нужно сделать, это отправить запрос get с переменными, которые вы ищете.Это может выглядеть так:

<code><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 '
';/ * Это избыточно, учитывая ваш вопрос if ($ _SERVER ['REQUEST_METHOD'] == "GET") {---> // $ result = R :: getAll ('SELECT $ params FROM user');} elseif ($ _SERVER ['REQUEST_METHOD'] == "POST") {} echo json_encode ($ result);* /?>

Объяснение

HTML

Эта часть кода представляет собой форму, в которой вы устанавливаете метод какзапрос на получение.Назначение действия - #, что означает, что вы отправляете его на ту же страницу, с которой оно было отправлено.И вы определяете переменную $_GET['params'] равной Foobar.И оно отправляется, когда вы нажимаете кнопку подтверждения.

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

PHP

<code><?php
$params = $_GET["params"]; // This sets the `params`-get-variable.
echo '<pre>';
print_r($params); // This prints it, so it looks pretty. :-)
echo '
';?>
0 голосов
/ 06 февраля 2019

Я думаю, вам следует использовать двойные кавычки, чтобы разрешить значение переменной.

вместо:

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

Попробуйте:

$result = R::getAll("SELECT $params FROM user");
0 голосов
/ 06 февраля 2019

Если параметры имеют формат id,username,email, вы можете просто добавить новые, например:

$params .= ',telephone';

Имейте в виду: это очень небезопасный способ подключения к вашей базе данных,читать о SQL Incjection

...