【问题标题】:PHP mysql query ignores POST varsPHP mysql查询忽略POST vars
【发布时间】:2014-11-02 07:43:48
【问题描述】:

我正在尝试将 vars 从 js 代码移动到 php,以便进行查询。我确信 vars 可以正常使用 PHP。

问题是,当我尝试在 SQL 查询中组合变量时,它会忽略它们并且我没有得到任何结果...

这里是代码有问题的部分:

    $postdata = file_get_contents("php://input");
    $request = json_decode($postdata);

    $gluten = $_POST['gluten'];
    $vegan = $_POST['vegan'];
    $vegetarian = $_POST['vegetarian'];

     $result = $conn->query("SELECT * FROM dishes JOIN restaurants USING (res_id)
                   WHERE (gluten LIKE '$gluten' AND '$vegan' LIKE 0 AND vegetarian LIKE '$vegetarian')");

有什么想法吗?谢谢!

【问题讨论】:

  • POST 变量从何而来??
  • 你能做一个 print_r($_POST) 并检查变量是否真的存在吗?
  • 您很容易受到 SQL 注入的攻击。你应该使用占位符。

标签: javascript php mysql ajax


【解决方案1】:

如果您在 php 文件中正确获取 POST 变量,

这样查询。

$result = $conn->query("SELECT * FROM dishes JOIN restaurants using (res_id) WHERE (gluten LIKE '%".$gluten."%' AND '".$vegan."' LIKE 0 AND vegetarian LIKE '%".$vegetarian."%')");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多