我不知道Mysqli点错了

时间:2018-10-02 14:42:30

标签: php mysql mysqli

Mysqli我不知道点是错的   它没有显示数据,您能帮我吗!  Mysqli我不知道点是错的   它没有显示数据,您能帮我吗!

if (isset($_REQUEST['pid'])) {

$pid = mysqli_real_escape_string($_REQUEST['pid']);
 }else {
    header('location: index.php');
  }


   $search_Query2 = "SELECT * FROM products WHERE id ='$pid'" or die(mysqli_error());

        $getposts = mysqli_query($conn, $search_Query2);
                if (mysqli_num_rows($getposts)) {
                    $row = mysqli_fetch_assoc($getposts);
                    $id = $row['id'];
                    $pName = $row['pName'];
                    $price = $row['price'];
                    $description = $row['description'];
                    $picture = $row['picture'];
                    $item = $row['item'];
                    $available =$row['available'];
                }   

?>
  

警告:mysqli_real_escape_string()恰好需要2个参数,即1   在C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php中给出   第17行

     

注意:未定义的变量:项目在   C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php在第69行

     

注意:未定义的变量:图片在   C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php在第69行

     

注意:未定义的变量:pName in   C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php,第74行

     

注意:未定义的变量:价格   C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php,第75行

     

注意:未定义变量:中的描述   C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php在第78行

3 个答案:

答案 0 :(得分:1)

  

警告:mysqli_real_escape_string()恰好需要2个参数,第17行的C:\ xampp \ htdocs \ ECommerce \ ECommerce \ women \ view_product.php中给出1个参数

这是您问题的开始。 $ pid = mysqli_real_escape_string($ _ REQUEST ['pid']); $ pid从未初始化,因为您忘记将连接变量添加到mysqli_real_escape_string()。

在这里看到区别

mysqli_query($conn, $search_Query2);
              ^^ 

在这里

$pid = mysqli_real_escape_string($_REQUEST['pid']);
                                ^^ (needs to go in here)

因此您的代码应如下所示:

  $pid = mysqli_real_escape_string($conn, $_REQUEST['pid']);

这是解决您问题的第一个方法,还要考虑其他人的回答,以便您知道如何更好地编写PHP代码

关于从数据库中获取数据,您陷入了混乱。正如其他人所说,从数据库获取代码是错误的

固定代码:

 $search_Query2 = "SELECT * FROM products WHERE id ='$pid'";
 $getposts = mysqli_query($conn, $search_Query2) or die(mysqli_error());

现在,如果您有来自数据库的多个数据,则应使用while循环遍历数组,如下所示:

while($row = mysqli_fetch_assoc($getposts)){
 //code here
}

答案 1 :(得分:0)

$getposts = mysqli_query($conn, $search_Query2);

首先,$conn变量是否由连接链接初始化?

如果没有,那么您需要在查询之前将其添加:

$conn=mysqli_connect("host","db_user","db_password","db_name");

然后,您需要将连接链接作为第一个参数传递: 请替换:

$pid = mysqli_real_escape_string($_REQUEST['pid']);

具有:

$pid = mysqli_real_escape_string($conn, $_REQUEST['pid']);

答案 2 :(得分:0)

这部分是错误的。

if(pll_current_language() == 'en'){
   //do your work here
}

$search_Query2 = "SELECT * FROM products WHERE id ='$pid'" or die(mysqli_error()); 不属于那里。将其移至此:

or die(mysqli_error())