php stmt类似产品显示
我正在创建PHP stmt类似产品显示脚本此脚本工作,但不显示类似产品我想显示类似产品标题 这是我的密码php stmt类似产品显示,php,mysqli,Php,Mysqli,我正在创建PHP stmt类似产品显示脚本此脚本工作,但不显示类似产品我想显示类似产品标题 这是我的密码 <?php $id=$row['id']; if($stmt = $con->prepare("SELECT title FROM products order by rand() limit 3 ")){ $stmt->execute(); } $result = $stmt->get_result(); if($result->num_rows >
<?php
$id=$row['id'];
if($stmt = $con->prepare("SELECT title
FROM products order by rand() limit 3
")){
$stmt->execute();
}
$result = $stmt->get_result();
if($result->num_rows > 0){
while($row = $result->fetch_array(MYSQLI_ASSOC)){
//results
}}
?>
view.php
<?php
if(isset($_GET['id'])) {
include("config.php");
$id = $_GET['id'];
$sql = "select * from products where id = '$id'";
$result = $con->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
//results
}}}
?>
确保数据库凭据正常 请尝试下面的代码并让我知道 1使用rand方法进行查询这是您想要的 您将至少插入一条记录
insert into products (id,title,description,image,cat_id) values(1,'product title','product details','product.png',100);
对于测试,查询products表以获取id为1的详细信息
现在,因为Id来自url
出于测试目的:
您可以像以前一样将代码另存为view.php
打开浏览器并输入以下内容
diretory在这里--/view.php?id=1
您可以看到Id为1的Url附加到view.php文件中。由于我们插入了id为1的记录,下面的代码将显示
仅记录id为=1的行,以此类推
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'anglejs';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully<br>';
$id = $_GET['id'];
//check if id is empty
if($id==''){
echo "Id is empty";
exit;
}
$sql = "SELECT id,title,description,image,cat_id FROM products where id='$id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "Id: " . $row["id"]. "<br>";
echo "Title: " . $row["title"]. "<br>";
echo "description: " . $row["description"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
什么是“类似产品”?一个ID接近搜索产品ID的产品?有相同“名字”的人?具有相同“类别”的人?如果不知道相似的产品是什么,我们不可能知道如何创建查询来查找相似的产品,并且您还列出了表结构-示例数据也会有所帮助。有两个表类别和产品我昨天看到了相同的问题。有着非常相似的评论。在过去的24小时内发生了什么变化?您没有在任何地方使用$id变量吗?你的表格看起来像什么?你想从中得到什么?我想从数据库中得到类似的标题我添加了这段代码,但没有显示相同的标题。你说的相同标题是什么意思。你在找一个特别的头衔还是什么。您正在使用rand函数,这意味着告诉数据库随机选择标题。如果您想要相同的标题,请从sql查询中删除rand。使用此$sql='从产品中选择标题';我添加了不更改产品预览。看来你是糊涂了。首先,您说代码正在工作,但没有显示相同的标题。现在我要求你们删除兰德函数,而你们现在告诉我产品没有变化。请更新你的帖子。把你所有的密码再寄给我。您还可以使用ASC或DESC方法决定记录的显示方式。如果表产品的productid可能是primarykey。例如,$sql='按productId asc从产品订单中选择标题';或$sql='按productId desc从产品订单中选择标题';
create table products(id int(11) primary key auto_increment,title varchar(30),description varchar(30),image varchar(30),cat_id int(11));
insert into products (id,title,description,image,cat_id) values(1,'product title','product details','product.png',100);
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'anglejs';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully<br>';
$sql = "SELECT id,title,description,image,cat_id FROM products where id='1'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "Id: " . $row["id"]. "<br>";
echo "Title: " . $row["title"]. "<br>";
echo "description: " . $row["description"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'anglejs';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully<br>';
$id = $_GET['id'];
//check if id is empty
if($id==''){
echo "Id is empty";
exit;
}
$sql = "SELECT id,title,description,image,cat_id FROM products where id='$id'";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "Id: " . $row["id"]. "<br>";
echo "Title: " . $row["title"]. "<br>";
echo "description: " . $row["description"]. "<br>";
}
} else {
echo "0 results";
}
mysqli_close($conn);
?>