凌空POST返回始终为空的参数

时间:2018-08-31 18:56:33

标签: php postgresql select pdo prepared-statement

我有一个小问题:我的请求未返回任何内容。我真的不知道问题出在哪里。我认为语法有问题,但是我不知道在哪里。

$pdo = new PDO('pgsql:dbname=killers_app;user=postgres;password=******;host=localhost;port=5432');

$req = $pdo->prepare("
    SELECT user_password.password, user_search.search
    FROM user_search
    INNER JOIN user_password
    ON user_search.id = user_password.id
    WHERE user_search.search = ?");

$req->execute(array('flarize'));

$_COOKIE['search'] = $req['search'];
$_COOKIE['mdp'] = $req['password'];

1 个答案:

答案 0 :(得分:1)

欢迎使用StackOverflow。

您的错误是您尚未从查询中提取任何信息。尝试更改:

$req->execute(array('flarize'));

$_COOKIE['search'] = $req['search'];
$_COOKIE['mdp'] = $req['password'];

到...

$req->execute(array('flarize'));

$myResults = $req->fetch(PDO::FETCH_ASSOC);

$_COOKIE['search'] = $myResults['search'];
$_COOKIE['mdp'] = $myResults['password'];

有多种方法可以在PDO中“获取”或返回结果。这只是似乎最能满足您需求的最简单的解决方案。