我有一个PHP / MySQL搜索功能,只要我只从一个表中搜索,它就可以正常工作。问题是我需要搜索一个表并显示该表中的信息,还需要显示另一表中的两个部分。使用此代码,我得到一个Notice: Trying to get property of non-obect
错误。我的PHP代码是这样的:
if(isset($_GET['search'])) {
$search = $link->escape_string($_GET['search']);
$query = $link->query("SELECT l.Id, l.ImageId, l.Subject, l.Level, l.Aim, i.NameImg, i.AltImg FROM LessonPlans l, Images i WHERE Subject LIKE '%".$search."%' OR Level LIKE '%".$search."%' OR Aim LIKE '%".$search."%' AND Language='English'");
if($query->num_rows){
while($r = $query->fetch_object()){
echo '<div class="col s6 m4 l3">
<div class="card">
<div class="card-image waves-effect waves-block waves-light">
<img class="activator" src="../mlslp/assets/img/'.$r->NameImg.'" alt="'. $r->AltImg.'">
</div>
<div class="card-content">
<span class="card-title activator grey-text text-darken-4 truncate tooltipped" data-position="bottom" data-delay="800" data-tooltip="'.$r->Subject.'">'.$r->Subject.'</span>
<p class="blue-text">'.$r->Level.'</p>
</div>
<div class="card-action">
<a href="lessonplan.php?Id='.$r->Id.'">Open Lesson Plan</a>
</div>
<div class="card-reveal">
<span class="card-title grey-text text-darken-4">'.$r->Subject.'<i class="material-icons right">close</i></span>
<p>'.$r->Aim.'</p>
</div>
</div>
</div>';
}
}
}
有没有办法解决两个表不发送对象的问题?我不确定是查询还是if / while语句出错。
如果两个表具有相同的名称ImageId,请尝试使用beloq查询
$query = $link->query("SELECT l.Id, l.ImageId, l.Subject, l.Level, l.Aim, i.NameImg, i.AltImg FROM LessonPlans l join Images i on i.ImageId=l.ImageId WHERE Subject LIKE '%".$search."%' OR Level LIKE '%".$search."%' OR Aim LIKE '%".$search."%' AND Language='English'");
i.ImageId->表的图像ID图片表
l.ImageId-> LessonPlans表的图像ID
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句