这就是我现在正在尝试的方法,但是没有运气
$bid = $next - 2;//This subtracts 2 from the number, this number is also auto generated
$preid = $bid;
$query = "SELECT * FROM images where imageid = '$preid'";
$sql = mysqli_query($conn,$query) or die(mysqli_error($conn));
while(mysqli_num_rows($sql) !=0) {
$select_query = "SELECT * FROM images where imageid = '$preid'";
$sql = mysqli_query($conn,$select_query) or die(mysqli_error($conn));
--$preid;
}
可能发生的情况是,如果一条记录不存在,它将从preid中减去1,然后使用新的preid再次运行查询,并一直进行到找到一条记录为止,但无法弄清楚该怎么做。
最佳答案
我假设您正在不断检查数据库中的新值。但是,在大规模应用程序中,这是不断ping数据库的效率极低的方法。
您已经创建了变量$ preid,但是没有在任何地方使用它。
如果我按照您的方式去,这就是我会做的
$bid = $next - 2;//This subtracts 2 from the number, this number is also auto generated
$preid = $bid;
$query = "SELECT * FROM images where imageid = '$preid'";
$sql = mysqli_query($conn,$query) or die(mysqli_error($conn));
while(mysqli_num_rows($sql) !=0 || !$preid) { //notice here i added the condition for preid.
$select_query = "SELECT * FROM images where imageid = '$preid'";
$sql = mysqli_query($conn,$select_query) or die(mysqli_error($conn));
--$preid;
}
现在发生的事情是,只要两个条件中的任何一个保持为真,循环都将运行,即从数据库返回一行,或者它将继续搜索直到preid不为0。
关于php - 如何运行查询直到找到一条记录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27242808/