$的taskid = $这 - >隐私权();
if($taskid){I returning something in one function and then by reference to this return,I am fetching data from another table in second function using if condition in such a way that if data(return) found in first table then execute else leave empty
但是我在第一张表中找到的数据然后每件事情都没问题,在第一张表中找不到数据,然后它显示为通知:未定义的变量:任务在....
我认为错误是在if else条件下。请帮助或建议任何替代方法。
Plz还注意到我正在处理pricacy表
第一个函数返回行
function privacy()
{
$session=new session();
$sql2=mysqli_query($this->db->connection,"SELECT * from privacy where viewerid='$session->userid'");
while($row2=mysqli_fetch_array($sql2)){
$task[]=$row2['task'];
}
return $task;
}
函数2 ..如果找到了某些东西然后做其他什么都不做(但错误显示为未定义的变量)
function showactivityo4apply()
{
$session=new session();
$taskid=$this->privacy();
if($taskid){
foreach($taskid as $fvid){
$sql=mysqli_query($this->db->connection,"SELECT * FROM activity where id='$fvid'");
while($row=mysqli_fetch_array($sql)){
$name_id=$row['sub_id'];
echo $name;
}
}
}
else{}
}
答案 0 :(得分:0)
if($taskid=$this->privacy())
正在为$this->privacy()
$taskid
的值
我认为你的意思是
if($taskid == $this->privacy())
答案 1 :(得分:0)
如果条件有==符号= =符号
if($taskid==$this->privacy()){
}
else
{
}
=表示将值分配给另一个
==检查其他变量的值
答案 2 :(得分:0)
它显示通知因为php没有在关键字“任务”的数组中获取值使用isset()函数来检查数据是否可用 像这样使用
$task[] = (isset($row2['task'])?$row2['task']:'';
如果$ row2 ['task']中没有设置值,那么它将在$ task []数组中指定空值。
还有一项改变你必须做的事情
而不是if($ taskid)条件使用
if( count($taskid) > 0){
}
这样如果在数组中找不到记录,它就不会插入循环
答案 3 :(得分:0)
please change this line of your code like:
$sql2=mysqli_query($this->db->connection,"SELECT * from privacy where
viewerid='$session->userid'");
=========================================
to
=============================
$sql2=mysqli_query($this->db->connection,"SELECT * from privacy where
viewerid='" . $session->userid . "'");
=======================
结论:这里找不到$ session-> userid这就是为什么你没有得到结果。