我正在尝试使用准备好的语句从SQL查询中获取关联数组。我没有尝试的工作。在执行准备好的语句之前,我能够使其工作。我正在阅读很多冲突的信息以及面向对象的程序设计似乎不起作用的OO和PDO信息。将来我可能会切换到其中一种样式,但是我现在不想重写整个网站。任何帮助是极大的赞赏。我有一个item_template.php,它使用rows ['name'],rows ['type']等读取数据。它正在运行mysqli_fetch_assoc ...我只是无法让fetch_assoc与准备好的语句一起工作。

  if ($searchname == NULL) {
    echo 'You must enter something to search for!';
    }else{
     $sql = "SELECT * FROM itemdb WHERE name LIKE ?";
     $stmt = mysqli_stmt_init($conn);
    if (!mysqli_stmt_prepare($stmt, $sql)) {
        header("Location: viewresults.php?error=sqlerror2");

        exit();
    }
    else{
      $searchname = "%".$searchname."%";
      mysqli_stmt_bind_param($stmt,"s", $searchname);
      mysqli_stmt_execute($stmt);
      mysqli_stmt_store_result($stmt);

      $resultcheck = mysqli_stmt_num_rows($stmt);
      echo $resultcheck;
        if ($resultcheck == 0) {
          echo 'No results found! Try again! ' . $resultcheck;
          exit();
        }else{
          $result = mysqli_stmt_get_result($stmt);
          echo $result;

          while ($row = mysqli_fetch_assoc($stmt)) {

          include("item_template.php");
          echo "SUCCESS";
        }
    }
  }
}

最佳答案

您在数据库中使用什么编码?我使用utf8_general_ci和西里尔字母。所以

mysqli_set_charset($conn, "utf8");


$conn=mysqli_connect();帮助我之后

关于php - 从准备好的语句取回关联数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53954220/

10-11 03:32