我被编写为从“ tagi”(即列名)返回带有相似标签的行的代码。

我的代码:

require(“ connmysql.php”);

if ($f == "podobne") {

    $kategorieProgramu = $string;
    $kategorieProgramu = explode(', ', $kategorieProgramu);

    $sql = 'SELECT odc_ListaAnime';
    $ifs = [];
    foreach ($kategorieProgramu as $kategoria) {
        $ifs[] = "IF (gatunek LIKE '%" . trim($kategoria) . "%', 1, 0)";
    }

    $sql .= implode('+', $ifs) . 'AS gatunek';

    $sql .= " FROM odc_ListaAnime HAVING gatunek > 0 ORDER BY gatunek DESC LIMIT 3";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) {
        // output data of each row
        while ($row = $result->fetch_assoc()) {
            $maxodc = $row['maxodc'];
            $anime = $row['nazwa'];
            if(getLA("lodc", $anime) == $maxodc){
            }else{
                echo "- <a href='index.php?str=anime&anime=$anime'>$anime</a><br>";
            }
        }
    } else {
         echo "<h1> ERROR 404 </h1>";
    }
    $conn->close();

}


但是该代码无法正常工作...我收到错误消息:

注意:尝试在第301行的/home/chumorekgn/www/maneku/get.php中获取非对象的属性
错误404

301线是

如果($ result-> num_rows> 0){

当我将var_dump添加到$ sql

我有

string(173)“ SELECT odc_ListaAnime; IF(gatunek LIKE'%Komedia%',1,0)+ IF(gatunek LIKE'%Romans%',1,0)AS gatunekFROM odc_ListaAnime HAgaing gatunek> 0 ORDER BY gatunek DESC LIMIT 3 ”

谁能帮我?

最佳答案

如果是mysql,请使用','分隔列,而不是';'在您的查询中:

"SELECT odc_ListaAnime, IF...


您还需要实现一些pdo错误的捕获,以查看实际的SQL错误。

添加此包装器:

  if ($result) {
      $result->num_rows > 0) {
          ...
      }
  } else {
      echo 'database error: '.$conn->errorInfo(); die;
  }

07-24 09:51