Неустранимая ошибка mysqli_stmt_get_result (), nd_mysqli уже установлен - PullRequest
0 голосов
/ 04 июля 2019

во-первых, это не повторяющийся вопрос, я прочитал все подобные вопросы здесь и обнаружил, что должен проверить nd_mysqli на сервере, у меня есть общий хост-сервер, и я связываюсь с администратором для включения этого драйвера, он сказал мне, что этоуже включен.Версия PHP также установлена ​​на максимально доступную версию, которая равна 7.2. Также из-за общего хоста я не могу получить доступ к файлу php.ini для внесения изменений.так вот мой код для поиска на моем веб-сайте, и я использую для этого подготовленные операторы:

PHP

<?php session_start(); ?>
<?php include "./db.php"; ?>
<?php include "./functions.php"; ?>
<?php include "./header.php"; ?>

<nav>
<?php include "./navbar.php"; ?>
</nav>

<section id="main-section">
  <div class="page-title">
    <p>search result</p>
  </div>
  <div class="container">
    <?php
    if(isset($_POST['search'])){
      $search_str = $_POST['search'];
      $search = mysqli_real_escape_string($connection, $search_str);
      if(strlen($search) > 0) {
       $per_page = 12;

       if(isset($_GET['page'])){
        $page = $_GET['page'];
       } else {
         $page = 1;
       }
       if($page == "" || $page == 1) {
         $page_1 = 0;
       } else {
         $page_1 = ($page * $per_page) - $per_page;
       }

    $item_count = "SELECT * FROM products WHERE (product_title)  LIKE ? OR (product_cat) LIKE ? OR  (product_brand)  LIKE ? OR (product_info) LIKE ?";

    $stmt = mysqli_stmt_init($connection);
    if(!mysqli_stmt_prepare($stmt, $item_count)) {
      echo "SQL statement failed!";
    } else {
      mysqli_stmt_bind_param($stmt, 'ssss', $search_str, $search_str, $search_str, $search_str);
      mysqli_stmt_execute($stmt);
      $result = mysqli_stmt_get_result($stmt);
      $count = mysqli_num_rows($result);
      $count_pages = ceil($count / $per_page) ;
    }


    if($count == 0) {
      echo "<p class='noresult'>no result :(</p>";
    } else {

    $query = "SELECT * FROM products WHERE (product_title)  LIKE ? OR (product_cat)  LIKE ? OR  (product_brand)  LIKE ? OR (product_info) LIKE ? LIMIT $page_1,$per_page ";
    $stmt = mysqli_stmt_init($connection);
    if(!mysqli_stmt_prepare($stmt, $query)) {
      echo "SQL statement failed";
    } else { 
      mysqli_stmt_bind_param($stmt, 'ssss', $search_str, $search_str, $search_str, $search_str);
      mysqli_stmt_execute($stmt);
      $result = mysqli_stmt_get_result($stmt);
    }
    while($row = mysqli_fetch_assoc($result)){
      $product_id = $row['product_id'];
      $product_cat = $row['product_cat'];
      $product_title = shorterTitle($row['product_title']);
      $product_brand = $row['product_brand'];
      $product_main_image = $row['product_main_image'];
      $product_size = toPersianNum($row['product_size']);
      $product_colors = $row['product_colors'];
      $product_material = $row['product_material'];
      $product_info = shorterInf($row['product_info']);
      $product_price = intval($row['product_price']);
      $product_dir = str_replace(" ", "_", $product_title);
      ?>
.
.
.

Это ошибка, которую я получаю, когда пытаюсь что-то искать:

Неустранимая ошибка: необученная ошибка: вызов неопределенной функции mysqli_stmt_get_result () в /home4/maketir/public_html/Includes/search.php:41 трассировки стека: # 0 {main} добавлено в / home4 / maketir / public_html/Includes/search.php в строке 41

как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...