查询无效-打印数组值而不是与查询一起使用

时间:2018-10-19 16:43:11

标签: php

我不确定我的问题是否有意义,因此我将尽力解释。基本上,我希望将$ _GET ['quote_id']作为查询中的条件,但它会显示在网页上,我以发布图片为例。

Code.php

<?php
  $connect = mysqli_connect("localhost", "root", "", "quote");
  $query = "select * from `quote` where quote_id = '". $id = print_r($_GET['quote_id'])."'";
$result = mysqli_query($connect, $query);
?>  

As you can see, it is displaying on the web page instead of being a part of the query which is my goal

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

我不知道您为什么使用print_r(一个打印有关变量的人类可读信息的函数),这就是为什么输出显示在页面上的原因。

尝试对此进行更改,首先不要使用属性,并同时使用一个变量,一次只做一件事以提高可读性,第二次使用filter_input来清理您的输入,或使用prepared statements来避免{{3} }攻击:

<?php

  $id = filter_input($_GET['quote_id'], FILTER_SANITIZE_NUMBER_INT);

  $connect = mysqli_connect("localhost", "root", "", "quote");
  $query = "select * from `quote` where quote_id = '". $id ."'";
$result = mysqli_query($connect, $query);
?>