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行
答案 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())