Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于返回值的if语句工作不正常-PHP_Php_Mysql - Fatal编程技术网

关于返回值的if语句工作不正常-PHP

关于返回值的if语句工作不正常-PHP,php,mysql,Php,Mysql,我试着解决这个问题好几天了,但还是没能解决。我试图使用mysqli\u num\u rows($result)>0来执行if语句,但它无法正常工作。这听起来很奇怪。如果result>0,它将显示记录(工作正常),否则将不显示任何记录(工作正常),但表将继续显示。我不知道为什么(如果结果返回为空,则该表不会出现)。另一个相关问题是,当没有记录时,似乎会出现3个值(在列picture下没有图像值,在列Dat Reg下没有日期,在列Terminate Membership下删除)。任何帮助都将不胜感激

我试着解决这个问题好几天了,但还是没能解决。我试图使用
mysqli\u num\u rows($result)>0来执行if语句,但它无法正常工作。这听起来很奇怪。如果
result>0
,它将显示记录(工作正常),否则将不显示任何记录(工作正常),但表将继续显示。我不知道为什么(如果结果返回为空,则该表不会出现)。另一个相关问题是,当没有记录时,似乎会出现3个值(在列picture下没有图像值,在列
Dat Reg
下没有日期,在列Terminate Membership下删除)。任何帮助都将不胜感激。当结果返回为空时,我不能让“无图像值”、“日期”和“删除”消失。我试图使整个表不显示,这样列(也不会显示,但无法工作)

userpage.php

<p align="left">A. YOUR RECORDS </p>
<p align="left">
<?php
echo "<tr><td></tr></td>";
if(mysqli_num_rows($result)>0){
echo "<table cellpadding=10 border=0 id='secondtable'>";
echo "<tr><td bgcolor=#698C00 class='white'>"."Membership"."</td>".
"<td bgcolor=#698C00 class='white'>"."Title"."</td>".
"<td bgcolor=#698C00 class='white'>"."Location"."</td>".
"<td bgcolor=#698C00 class='white'>"."Phone"."</td>".
"<td bgcolor=#698C00 class='white'>"."Picture"."</td>".
"<td bgcolor=#698C00 class='white'>"."Date Reg"."</td>".
"<td bgcolor=#698C00 class='white'>"."Terminate Membership?"."</td></tr>";
if(mysqli_num_rows($result)>0){
while( $row = $result->fetch_array(MYSQLI_ASSOC)){
$showdateua=$row['dateua'];
$showdateua=date('d-m-Y',strtotime($showdateua));
echo "<tr><td bgcolor=#DCDCDC>".$_SESSION['Membership']=$row['Membership'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['Title']=$row['Title'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['location']=$row['location'].
"</td><td bgcolor=#DCDCDC>".$_SESSION['adphone']=$row['adphone'].
"</td><td bgcolor=#DCDCDC>".
'<img src="'.$_SESSION['image1']=$row['image1'].'"alt="No image"style="width:100px;height:100px;"/>'.
"</td><td bgcolor=#DCDCDC>".$_SESSION['dateua']=$showdateua.
"</td><td bgcolor=#DCDCDC>"."<a href=\"rundelup.php?idadv=".$row['idadv']."\">"."Delete"."</a></td></tr>";
}
}
echo "</table>";}
else
{
if(mysqli_num_rows($result)===0)
{echo "No records";}
}?>
<?php
if(isset($_SESSION['id'])){
if (isset($result)){
if(mysqli_num_rows($result)>0){
echo "<table>";
$page=(int)$page;
if($page>$tpages)
{$page=$tpages;}
if($page<1)
{$page=1;
}
if($page==1){
echo "";}
else
{
//go to first page 
echo "<tr><td><a href='?page=1'class='button'>FIRST</a></td>";
}
if($page>1)
{
//go to previous page to show previous 3 items. 
echo "<td><a href='?page=".($page-1)."'class='button'><<</a></td>";
}
echo "<ul class='page'>";
for($i=max($page-4,1);$i<=max(1,min($tpages,$page+4));$i++)
{
if($i==$page){
echo "<td><class='current'>".$i."</td>";
}
else{
echo "<td><a href='?page=".$i."'>".$i."</a></td>";}
//echo "<tr><td><a href=useradacc.php?page=".$i.">".$i."</a></td></tr>";
}
echo "</ul>";
if($page!=$tpages)
{
//go to next page to show next 3 items. 
echo "<td><a href='?page=".($page+1)."'class='button'>>></a></td>";
}
if($page==$tpages)
{
    echo "";}
    else{
//go to last page 
echo "<td><a href='?page=".($page=$tpages)."'class='button'>LAST</a></td></tr>";
}
echo "</table>";
}
}}
else
{echo "Insert record";
}
?>
<?php
if(isset($conn)){
$id = $_SESSION['id'];
//pagination calculation
$reclimit=3;
if(isset($_GET['page'])){
$page=$_GET['page'];}
else
{
$page=1;
}
$start=(($page-1)*$reclimit);
$advert = "SELECT u.*,ua.* FROM uskkk u LEFT JOIN uaddd ua ON  u.id=ua.id
WHERE u.id='".$id."'";
$result=$conn->query($advert);
$total=$result->num_rows;
$tpages=ceil($total/$reclimit);
//pagination script ends here
$advert = "SELECT u.*,ua.* FROM uskkk u LEFT JOIN uaddd ua ON  u.id=ua.id
WHERE u.id='".$id."'ORDER BY dateua DESC LIMIT $start,$reclimit";
$statement = $conn->prepare($advert);
$statement->execute();
$result = $statement->get_result(); }
if ($conn->connect_error){
die("Connection failed: ".$conn->connect_error);
} 
?>

A.您的记录

包含文件(run.php)


您的代码可能存在另一个错误。
通过查看SQL查询的输出,确保该查询能够正常工作

$advert = "SELECT u.*,ua.* FROM uskkk u LEFT JOIN uaddd ua ON u.id=ua.id WHERE u.id='".$id."'ORDER BY dateua DESC LIMIT $start,$reclimit";
$statement = $conn->query($advert);
var_dump($statement);
看到结果了吗


准备好的声明 对动态参数使用
符号,并使用
bind_param()
将其变量绑定到sql查询之外

您可以稍后获取结果

while($row = $result->fetch_array(MYSQLI_ASSOC)){
   var_dump($row);
}
确保您知道要绑定的变量的类型

i=对应变量的类型为整数

d=对应变量的类型为double

s=对应的变量具有类型字符串

b=相应的变量是blob,将以数据包的形式发送

或者只使用
mysqli::query

$stmt= $conn->query("SELECT u.*,ua.* FROM uskkk u LEFT JOIN uaddd ua ON u.id=ua.id WHERE u.id='".$id."'ORDER BY dateua DESC LIMIT $start,$reclimit");
while($row = $result->fetch_array()){
   var_dump($row);
}

像这样更改表结构

echo "<table cellpadding=10 border=0 id='secondtable'>";
echo "<tr><td bgcolor=#698C00 class='white'>" . "Membership" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Title" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Location" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Phone" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Picture" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Date Reg" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Terminate Membership?" . "</td></tr>";
 
if (mysqli_num_rows($result) > 0) {
   while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
     $showdateua = $row['dateua'];
     $showdateua = date('d-m-Y', strtotime($showdateua));
     echo "<tr><td bgcolor=#DCDCDC>" . $_SESSION['Membership'] = $row['Membership'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['Title'] = $row['Title'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['location'] = $row['location'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['adphone'] = $row['adphone'] . "</td><td bgcolor=#DCDCDC>" . '<img src="' . $_SESSION['image1'] = $row['image1'] . '"alt="No image"style="width:100px;height:100px;"/>' . "</td><td bgcolor=#DCDCDC>" . $_SESSION['dateua'] = $showdateua . "</td><td bgcolor=#DCDCDC>" . "<a href=\"rundelup.php?idadv=" . $row['idadv'] . "\">" . "Delete" . "</a></td></tr>";
   }
} else {
  echo "No records";
} 
echo "</table>";
echo”“;
“回声”。“成员资格”。"" . "" . “标题”。"" . "" . “地点”。"" . "" . “电话”。"" . "" . “图片”。"" . "" . “日期登记”。"" . "" . “终止会员资格?”。"";
如果(mysqli_num_行($result)>0){
而($row=$result->fetch_数组(MYSQLI_ASSOC)){
$showdateua=$row['dateua'];
$showdateua=date('d-m-Y',strottime($showdateua));
回显“$$U会话['Membership']=$row['Membership'..”.$$U会话['Title'.]=$row['Title'..”.$$U会话['location'.]=$row['location'..”.$$U会话['adphone'.['dateua'.]=$showdateua..”;
}
}否则{
回声“无记录”;
} 
回声“;

对于reply@Chay22,您混合了过程和OO mysqli样式。注意…我想两者都可以混合…呵呵…谢谢你的提示…我先试试。。因为很难区分程序化风格和OO mysqli风格。对我来说,它们看起来都一样。@Chay22。我照你的建议做了。。但还是一样…?有希望吗?不过这只是一个简单的通知。您不能在
$statement
上这样做准备语句。改为使用
$conn->query()
,并使用
$conn->fetch_assoc()
Hi@Chay22. Tqs。这里有一些发展。但现在我得到了一个错误“在非对象上调用成员函数get_result()……在第38行”,它指的是“$stmt->bind_param(“iii”$id,$start,$reclimit)”;“@kmaJJ是您的变量
$id
类型的整数吗?或者错误可能来自sql语法,我猜。我尝试了上面你给我的最新选项。没有提示任何错误。。但我前面提到的三个文本“无图像值”、“日期”和“删除”仍然出现。我已经清除了数据库-(如果结果>0,记录会出现。否则它会消失(工作正常),但当结果>0时,我无法让3个文本消失。即使我清除了数据库,它也会一直显示。我的脚本或代码排列有那么糟糕吗?什么样的文本?我不明白。不管怎样,你在循环中设置了会话,因此正在覆盖会话
echo "<table cellpadding=10 border=0 id='secondtable'>";
echo "<tr><td bgcolor=#698C00 class='white'>" . "Membership" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Title" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Location" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Phone" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Picture" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Date Reg" . "</td>" . "<td bgcolor=#698C00 class='white'>" . "Terminate Membership?" . "</td></tr>";
 
if (mysqli_num_rows($result) > 0) {
   while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
     $showdateua = $row['dateua'];
     $showdateua = date('d-m-Y', strtotime($showdateua));
     echo "<tr><td bgcolor=#DCDCDC>" . $_SESSION['Membership'] = $row['Membership'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['Title'] = $row['Title'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['location'] = $row['location'] . "</td><td bgcolor=#DCDCDC>" . $_SESSION['adphone'] = $row['adphone'] . "</td><td bgcolor=#DCDCDC>" . '<img src="' . $_SESSION['image1'] = $row['image1'] . '"alt="No image"style="width:100px;height:100px;"/>' . "</td><td bgcolor=#DCDCDC>" . $_SESSION['dateua'] = $showdateua . "</td><td bgcolor=#DCDCDC>" . "<a href=\"rundelup.php?idadv=" . $row['idadv'] . "\">" . "Delete" . "</a></td></tr>";
   }
} else {
  echo "No records";
} 
echo "</table>";