![](/img/trans.png)
[英]mysqli_fetch_assoc() inside loop gets only first row result from WHERE IN query
[英]How can i print only desired result inside while loop of mysqli_fetch_assoc?
如標題中所述,我只想打印付款大於10的那些條目的結果,否則它將回顯錯誤消息。 在這里,我的代碼確實打印了結果,但同時也打印了錯誤消息和結果。 這對我來說很難解決該問題。 我是新手,需要您的幫助。 提前致謝
<?php
if(isset($_GET['l']))
{
$user=$_SESSION['username'];
$qry1="SELECT * from entry where username='$user'";
$result1=mysqli_query($conn,$qry1);
if(!$result1)
{
die("Sorry, Something went wrong. Please try again");
header("Location: index.php");
exit();
}
while ($row1 = mysqli_fetch_assoc($result1))
{ $name=$row1['sent_to'];
$time=$row1['time'];
if(($row1['payment']>10) && ($_GET['r']==$time) && ($_GET['l']==$name))
{
echo $row1['entry']." ";
}
else
{
echo "error";
}
}
}
?>
上面的代碼打印結果以及錯誤消息,例如
entry1錯誤errorerrorerrorerrorerrorerror
請檢查我在哪里做錯了
感謝大家的關注。 我只是限制了數據庫的while循環結果,它正在工作。 如果有更好的方法,您的摘要將受到歡迎。
這是已解決的代碼供參考
if(isset($_GET['l']))
{ $name=$_GET['l'];
$time=$_GET['r'];
$user=$_SESSION['username'];
$qry1="SELECT * from entry where username='$user' and time='$time' and sent_to='$name'";
$result1=mysqli_query($conn,$qry1);
if(!$result1)
{
die("Sorry, Something went wrong. Please try again");
header("Location: index.php");
exit();
}
while ($row1 = mysqli_fetch_assoc($result1))
{ $name=$row1['sent_to'];
$time=$row1['time'];
if(($row1['payment']>10) && ($_GET['r']==$time) && ($_GET['l']==$name))
{
echo $row1['entry'];
}
else
{
echo "error";
}
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.