Các lệnh không đồng bộ; bạn không thể chạy lệnh này bây giờ


93

Tôi đang cố gắng thực thi mã PHP của mình, mã này gọi hai truy vấn MySQL qua mysqli và gặp lỗi "Lệnh không đồng bộ hóa; bạn không thể chạy lệnh này ngay bây giờ".

Đây là mã tôi đang sử dụng

<?php
$con = mysqli_connect("localhost", "user", "password", "db");
if (!$con) {
    echo "Can't connect to MySQL Server. Errorcode: %s\n". Mysqli_connect_error();
    exit;
}
$con->query("SET NAMES 'utf8'");
$brand ="o";
$countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $data = $con->query($countQuery) or die(print_r($con->error));
    $rowcount = $data->num_rows;
    $rows = getRowsByArticleSearch("test", "Auctions", " ");
    $last = ceil($rowcount/$page_rows);
}  else {

print_r($con->error);
}
foreach ($rows as $row) {
    $pk = $row['ARTICLE_NO'];
    echo '<tr>' . "\n";
    echo '<td><a href="#" onclick="updateByPk(\'Layer2\', \'' . $pk . '\')">'.$row['USERNAME'].'</a></td>' . "\n";
    echo '<td><a href="#" onclick="updateByPk(\'Layer2\', \'' . $pk . '\')">'.$row['shortDate'].'</a></td>' . "\n";
    echo '<td><a href="#" onclick="deleterec(\'Layer2\', \'' . $pk . '\')">DELETE RECORD</a></td>' . "\n";
    echo '</tr>' . "\n";
}
function getRowsByArticleSearch($searchString, $table, $max) {
    $con = mysqli_connect("localhost", "user", "password", "db");
    $recordsQuery = "SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, date_format(str_to_date(ACCESSSTARTS, '%d/%m/%Y %k:%i:%s'), '%d %m %Y' ) AS shortDate FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE '%?%' ORDER BY str_to_date(ACCESSSTARTS, '%d/%m/%Y %k:%i:%s')" . $max;
    if ($getRecords = $con->prepare($recordsQuery)) {
        $getRecords->bind_param("s", $searchString);
        $getRecords->execute();
        $getRecords->bind_result($ARTICLE_NO, $USERNAME, $ACCESSSTARTS, $ARTICLE_NAME, $shortDate);
        while ($getRecords->fetch()) {
            $result = $con->query($recordsQuery);
            $rows = array();
            while($row = $result->fetch_assoc()) {
                $rows[] = $row;
            }
            return $rows;
        }
    }
}

Tôi đã thử đọc về điều này, nhưng tôi không biết phải làm gì. Tôi đã đọc về kết quả lưu trữ và kết quả miễn phí, tuy nhiên chúng không có gì khác biệt khi sử dụng chúng. Tôi không chắc chắn chính xác lỗi này đang gây ra ở thời điểm nào và muốn biết nguyên nhân gây ra lỗi và cách khắc phục.

Đi theo các câu lệnh gỡ lỗi của tôi, vòng lặp if đầu tiên cho countQuery thậm chí không được nhập, do lỗi trong cú pháp sql của tôi gần đó '% ? %'. Tuy nhiên, nếu tôi chỉ chọn *thay vì cố gắng giới hạn dựa trên mệnh đề LIKE, tôi vẫn gặp lỗi lệnh không đồng bộ hóa.

Câu trả lời:


114

Bạn không thể có hai truy vấn đồng thời vì mysqli sử dụng các truy vấn không có bộ đệm theo mặc định (đối với các câu lệnh đã chuẩn bị; đối với vani thì ngược lại mysql_query). Bạn có thể tìm nạp cái đầu tiên vào một mảng và lặp qua mảng đó hoặc yêu cầu mysqli đệm các truy vấn (sử dụng $stmt->store_result()).

Xem chi tiết tại đây .


3
Tôi đồng ý, mysqli hơi bị hại não. Tuy nhiên, nó hoạt động đúng với trình điều khiển PDO mysql.

17
Bạn có thể có hai truy vấn đồng thời - bạn chỉ cần chạy $stmt->store_result();Tôi nghĩ phản hồi của bạn nên làm rõ ràng hơn.
Shadow

3
Tôi mất nhiều thời gian để tìm ra thông tin này - không có nơi nào dễ dàng hiển thị nó. Cảm ơn. Tôi chỉ tách các truy vấn của tôi với $select_stmt->close();để chia cho họ (không đồng thời nhưng thủ tục
n34_panda

@flussence, Bạn đã nói rằng "mysqli sử dụng các truy vấn không có bộ đệm theo mặc định". Vì vậy, làm thế nào chúng ta có thể thiết lập nó để làm khác?
Pacerier

1
Tôi biết rằng nó có vẻ kỳ lạ, nhưng tôi đã gặp lỗi này khi thực hiện một truy vấn với mysqli_query vi phạm khóa ngoại ... vì vậy nếu điều này xảy ra với bất kỳ ai, hãy kiểm tra kỹ xem truy vấn INSERT của bạn có vi phạm bất kỳ khóa ngoại nào không
lucaferrario

34

Tôi đã giải quyết vấn đề này trong ứng dụng C của mình - đây là cách tôi đã thực hiện:

  1. Trích dẫn từ diễn đàn mysql:

    Lỗi này xảy ra khi bạn kết thúc truy vấn của mình bằng dấu chấm phẩy bên trong ứng dụng . Mặc dù bắt buộc phải kết thúc truy vấn bằng dấu chấm phẩy khi thực thi nó từ dòng lệnh hoặc trong trình duyệt truy vấn, hãy xóa dấu phân cách khỏi truy vấn bên trong ứng dụng của bạn.

  2. Sau khi chạy truy vấn và xử lý kết quả [C API: mysql_store_result()], tôi lặp lại bất kỳ kết quả nào có khả năng xảy ra khi thực thi nhiều câu lệnh SQL, chẳng hạn như hai hoặc nhiều câu lệnh select (quay lại mà không xử lý kết quả).

    Thực tế là các thủ tục của tôi không trả về nhiều kết quả nhưng cơ sở dữ liệu không biết điều đó cho đến khi tôi thực thi: [C API: mysql_next_result()]. Tôi thực hiện điều này trong một vòng lặp (đối với biện pháp tốt) cho đến khi nó trả về khác 0. Đó là khi trình xử lý kết nối hiện tại biết rằng có thể thực hiện một truy vấn khác (tôi lưu vào bộ nhớ cache của trình xử lý để giảm thiểu chi phí kết nối).

    Đây là vòng lặp tôi sử dụng:

    for(; mysql_next_result(mysql_handler) == 0;) 
      /* do nothing */;

Tôi không biết PHP nhưng tôi chắc chắn rằng nó có một cái gì đó tương tự.


11
Đây là nó cho tôi. Trong PHP tôi vừa thêm: while (mysqli_next_result ($ con));
Josh

Cảm ơn câu trả lời đã giải quyết được vấn đề của tôi. Tôi đã xóa dấu phân cách và nó hoạt động. Tôi không giải phóng (tìm nạp) hoặc lưu trữ kết quả của mình, nhưng đóng con trỏ và xây dựng lại sau khi tôi hoàn thành một câu lệnh truy vấn.
Chen Xie

@Josh, Làm cách nào để thực hiện điều đó trong mysqltiện ích mở rộng kế thừa ?
Pacerier

1
Xóa dấu chấm phẩy ở cuối truy vấn đã khắc phục sự cố "Các lệnh không đồng bộ; bạn không thể chạy lệnh này ngay bây giờ" khi sử dụng Python MySQLdb.
Genome

17

Hôm nay tôi gặp phải vấn đề tương tự, nhưng chỉ khi làm việc với một thủ tục được lưu trữ. Điều này làm cho truy vấn hoạt động giống như một truy vấn nhiều, vì vậy bạn cần phải "tiêu thụ" các kết quả khác có sẵn trước khi thực hiện một truy vấn khác.

while($this->mysql->more_results()){
    $this->mysql->next_result();
    $this->mysql->use_result();
}

Đây là một điểm quan trọng: các thủ tục được lưu trữ trả về một kết quả được đặt trên và trên bất kỳ kết quả nào mà mã trong SP có thể tạo ra. Bạn phải xử lý hoặc gặp lỗi này: stackoverflow.com/a/2315229/4495850
Richard

11

Tôi thường gọi hàm này trước khi sử dụng truy vấn $ mysqli-> Hoạt động với các thủ tục được lưu trữ.

function clearStoredResults(){
    global $mysqli;

    do {
         if ($res = $mysqli->store_result()) {
           $res->free();
         }
        } while ($mysqli->more_results() && $mysqli->next_result());        

}

5

Khi bạn đã sử dụng

stmt->execute();

Bạn CÓ THỂ đóng nó để sử dụng một truy vấn khác.

stmt->close();

Vấn đề này đã săn lùng tôi trong nhiều giờ. Hy vọng rằng, nó sẽ sửa chữa của bạn.


1
Đóng câu lệnh là không cần thiết. Như @stalinbeltran đã trả lời ở trên, chúng ta cần "tiêu thụ" kết quả của một câu lệnh trước khi chuẩn bị một câu lệnh khác. Vì vậy, $stmt1->execute(); $stmt2=$conn->prepare(...)sẽ đưa ra lỗi này, nhưng $stmt1->execute(); $result1=$stmt1->get_result(); $stmt2=$conn->prepare(...)sẽ hoạt động tốt.
Jay Dadhania

Bro nó đã giúp tôi cảm ơn bạn. Đối với tất cả những người nói điều này và điều kia, tôi đã sử dụng mysqli_prepare hai lần trước khi đóng lần đầu tiên. Nó hoạt động.
Abhinash Majhi

2

Tôi sử dụng CodeIgniter. Một máy chủ OK ... cái này có lẽ cũ hơn ... Dù sao thì cũng đang sử dụng

$this->db->reconnect();

Đã sửa nó.


7
Làm thế nào để giải quyết vấn đề này?
Jeremy J Starcher 22/09/12

4
@Norman, Điều này không "khắc phục" sự cố. Nó chỉ tránh nó bằng cách loại bỏ toàn bộ kết nối và kết nối lại một lần nữa. Điều này không có ý nghĩa chút nào từ quan điểm hiệu suất.
Pacerier

1

Vấn đề là thư viện MySQL client C, mà hầu hết các API MySQL đều được xây dựng trên đó. Vấn đề là thư viện C không hỗ trợ thực hiện đồng thời các truy vấn, vì vậy tất cả các API được xây dựng trên đó cũng không hỗ trợ. Ngay cả khi bạn sử dụng các truy vấn không có bộ đệm. Đây là một lý do tại sao API MySQL không đồng bộ được viết. Nó giao tiếp trực tiếp với máy chủ MySQL sử dụng TCP và dây giao thức không hỗ trợ các truy vấn đồng thời.

Giải pháp của bạn là sửa đổi thuật toán để bạn không cần phải tiến hành cả hai cùng một lúc hoặc thay đổi chúng để sử dụng các truy vấn có bộ đệm, đây có thể là một trong những lý do ban đầu cho sự tồn tại của chúng trong thư viện C (cách khác là cung cấp một loại con trỏ).


1
Tôi không cần phải có cả hai trong tiến trình cùng một lúc, tôi hạnh phúc cho countQuery để kết thúc hoàn toàn trước khi truy vấn thứ hai của tôi, nhưng tôi không chắc chắn làm thế nào để ngăn chặn countQuery từ là trong proggress

Bạn không truy xuất bất kỳ dữ liệu nào từ countQuery, đó là lý do tại sao nó vẫn 'đang được xử lý'. Truy xuất tất cả các hàng hoặc thay đổi nó thành CHỌN COUNT (ARTICLE_NO) và lấy hàng đó. Sau đó, truy vấn thứ hai của bạn sẽ chạy.
staticsan

Khi bạn nói "API MySQL không đồng bộ", bạn đang đề cập đến API nào? Ngoài ra, tôi không nhận được kết luận của bạn. "Sự cố" này có thể được khắc phục mà không cần API không đồng bộ.
Pacerier

1
Thành thật mà nói @Pacerier, tôi cũng không rõ nữa là tôi muốn nói gì! Rất nhiều điều đã xảy ra trong sáu năm trong kết nối MySQL vì vậy bất cứ điều gì tôi nghĩ rằng tôi đang đề cập đến có thể đã được đổi tên và / hoặc kết hợp trong một số trình điều khiển mới khác.
staticsan

1

để giải quyết vấn đề này, bạn phải lưu trữ dữ liệu kết quả trước khi sử dụng

$numRecords->execute();

$numRecords->store_result();

đó là tất cả


1

Một nguyên nhân khác: không thể gọi store_result () hai lần.

Ví dụ, trong đoạn mã sau, Lỗi 5 được in.

<?php

$db = new mysqli("localhost", "something", "something", "something");

$stmt = $db->stmt_init();
if ($stmt->error) printf("Error 1 : %s\n", $stmt->error);

$stmt->prepare("select 1");
if ($stmt->error) printf("Error 2 : %s\n", $stmt->error);

$stmt->execute();
if ($stmt->error) printf("Error 3 : %s\n", $stmt->error);

$stmt->store_result();
if ($stmt->error) printf("Error 4 : %s\n", $stmt->error);

$stmt->store_result();
if ($stmt->error) printf("Error 5 : %s\n", $stmt->error);

(Điều này có thể không liên quan đến mã mẫu ban đầu, nhưng nó có thể liên quan đến những người đang tìm kiếm câu trả lời cho lỗi này.)


1

Đây là VẤN ĐỀ CỦA TÔI !!!

Liên kết tham số là "động" vì vậy tôi có một biến đặt các tham số của dữ liệu để sử dụng bind_param . Vì vậy, biến đó bị sai nhưng thay vì ném một lỗi như "sai dữ liệu tham số", nó lại nói "không đồng bộ bla bla bla" nên tôi đã nhầm lẫn ...


0

Tôi nghĩ vấn đề là bạn đang tạo một kết nối mới trong hàm và sau đó không đóng nó ở cuối. Tại sao bạn không thử chuyển kết nối hiện có và sử dụng lại nó?

Một khả năng khác là bạn đang quay lại tìm nạp giữa vòng lặp trong thời gian. Bạn không bao giờ hoàn thành việc tìm nạp bên ngoài đó.


1
Nếu tôi tạo $ con global (đó là cách làm không tốt nhưng sẽ hoạt động như bạn mô tả), tôi vẫn gặp lỗi tương tự.

1
Tôi không nghĩ rằng có một kết nối toàn cầu là một hành vi xấu
Mathieu J.

0

Kiểm tra xem bạn có nhập đúng tất cả các tham số hay không. Nó ném ra cùng một lỗi nếu số lượng các tham số được xác định và sau đó được truyền cho hàm là khác nhau.


0

Điều này không liên quan đến câu hỏi ban đầu, nhưng tôi đã có cùng một thông báo lỗi và chuỗi này là lần truy cập đầu tiên trên Google và tôi đã mất một lúc để tìm ra Vấn đề là gì, vì vậy nó có thể được sử dụng cho những người khác:

tôi KHÔNG sử dụng mysqli, vẫn đang sử dụng mysql_connect tôi đã có một số truy vấn đơn giản, nhưng MỘT truy vấn khiến tất cả các truy vấn khác không thành công trong cùng một Kết nối.

Tôi sử dụng mysql 5.7 và php 5.6, tôi có một bảng với kiểu dữ liệu "JSON". rõ ràng, phiên bản php của tôi không nhận ra giá trị trả về từ mysql (php chỉ không biết phải làm gì với Định dạng JSON vì mô-đun mysql tích hợp sẵn quá cũ (ít nhất là tôi nghĩ))

hiện tại tôi đã thay đổi JSON-Field-Type thành Text (vì hiện tại tôi không cần chức năng JSON mysql gốc) và mọi thứ hoạt động tốt


0

Nếu bạn sử dụng tập hợp kết quả có đệm hoặc không đệm để tìm nạp dữ liệu, trước tiên bạn phải xóa dữ liệu đã tìm nạp khỏi bộ nhớ sau khi đã tìm nạp tất cả dữ liệu . Vì bạn không thể thực hiện một thủ tục MYSQL khác trên cùng một kết nối cho đến khi bạn xóa bộ nhớ đã tìm nạp. Thêm chức năng bên dưới này vào bên phải cuối tập lệnh của bạn, vì vậy nó sẽ giải quyết được vấn đề

$numRecords->close(); or $numRecords->free(); // This clears the referencing memory, and will be ready for the next MYSQL fetch

Tham khảo từ tài liệu PHP


1
Nếu bạn không cần một số bản ghi, thì bạn không nên chọn chúng ngay từ đầu. Thay vì chỉ giải phóng chúng ra, đơn giản là không chọn chúng. Và nếu không phải như vậy và bạn đã tìm nạp tất cả các bản ghi đã chọn, thì sẽ không có lỗi như vậy nữa cũng như không cần gọi close () hoặc free (). Đối với các thủ tục được lưu trữ, có một phương pháp ít man rợ hơn, được mô tả trong các câu trả lời ở trên
Your Common Sense

0

Tôi đã gặp lỗi này khi sử dụng Doctrine DBAL QueryBuilder.

Tôi đã tạo một truy vấn với QueryBuilder sử dụng các lựa chọn con của cột, cũng được tạo bằng QueryBuilder. Các lựa chọn con chỉ được tạo thông qua $queryBuilder->getSQL()và không được thực thi. Đã xảy ra lỗi khi tạo lựa chọn con thứ hai. Bằng cách tạm thời thực hiện từng lựa chọn con $queryBuilder->execute()trước khi sử dụng $queryBuilder->getSQL(), mọi thứ đều hoạt động. Nó giống như thể kết nối $queryBuilder->connectionvẫn ở trạng thái không hợp lệ để tạo SQL mới trước khi thực thi SQL hiện đã chuẩn bị, mặc dù thể hiện QueryBuilder mới trên mỗi lựa chọn con.

Giải pháp của tôi là viết các tiểu mục mà không có QueryBuilder.


0

Tôi đang sử dụng ODBC và bản sửa lỗi này phù hợp với tôi: ODBC -> tab Hệ thống DSN -> nhấp đúp để định cấu hình nguồn dữ liệu của tôi -> chi tiết -> tab Con trỏ -> Bỏ chọn [Không lưu kết quả bộ nhớ cache của con trỏ chỉ chuyển tiếp] - > bấm Ok


0

Tôi thường gặp lỗi này và luôn luôn là khi tôi chạy một thủ tục được lưu trữ mà tôi đã gỡ lỗi trong phpmyadmin hoặc SQL Workbench (Tôi đang làm việc trong php kết nối với mysqli).

Lỗi là kết quả của việc gỡ lỗi liên quan đến việc chèn các câu lệnh SELECT tại các điểm chiến lược trong mã để cho tôi biết trạng thái của các biến, v.v. Chạy một thủ tục được lưu trữ tạo ra nhiều bộ kết quả trong các môi trường khách này là tốt, nhưng nó tạo ra " Lỗi lệnh không đồng bộ "khi được gọi từ php. Giải pháp luôn là đưa ra bình luận hoặc loại bỏ các lựa chọn gỡ lỗi để quy trình chỉ có một tập kết quả.


-1

Vấn đề của tôi là tôi đang sử dụng câu lệnh chuẩn bị đầu tiên và sau đó tôi đang sử dụng truy vấn mysqli trên cùng một trang và gặp lỗi "Lệnh không đồng bộ hóa; bạn không thể chạy lệnh này ngay bây giờ". Lỗi chỉ xảy ra khi tôi đang sử dụng mã có câu lệnh chuẩn bị.

Những gì tôi đã làm là đóng câu hỏi. va no đa hoạt động.

mysqli_stmt_close ($ stmt);

Mã của tôi

get_category.php (ở đây sử dụng câu lệnh chuẩn bị)

    <?php


    global $connection;
    $cat_to_delete =    mysqli_real_escape_string($connection, $_GET['get'] );

    $sql = "SELECT category_name FROM categories WHERE category_id = ? ;";


    $stmt = mysqli_stmt_init($connection);

    if (!mysqli_stmt_prepare($stmt, $sql))
        $_SESSION['error'] = "Error at preaparing for deleting query. mysqli_stmt_error($stmt) ." & redirect('../error.php');

    mysqli_stmt_bind_param($stmt, 's', $cat_to_delete);

    if (!mysqli_stmt_execute($stmt))
        $_SESSION['error'] = "ERror at executing delete category ".mysqli_stmt_error($stmt) &
            redirect('../error.php');


    mysqli_stmt_bind_result($stmt, $cat_name);

    if (!mysqli_stmt_fetch($stmt)) {
        mysqli_stmt_error($stmt);
    }



    mysqli_stmt_free_result($stmt);
    mysqli_stmt_close($stmt);

admin_get_category_body.php (tại đây mysqli)

        <?php

        if (isset($_GET['get']) && !empty($_GET['get']) )
        {
            include 'intodb/edit_category.php';
        }


        if (check_method('get') && isset($_GET['delete']) )
        {
            require 'intodb/delete_category.php';
        }


        if (check_method('get') && isset($_GET['get']) )
        {
            require 'intodb/get_category.php';
        }


        ?>

        <!--            start: cat body          -->

        <div     class="columns is-mobile is-centered is-vcentered">
            <div class="column is-half">
                <div   class="section has-background-white-ter box ">


                    <div class="has-text-centered column    " >
                        <h4 class="title is-4">Ctegories</h4>
                    </div>

                    <div class="column " >


                        <?php if (check_method('get') && isset($_GET['get'])) {?>
                        <form action="" method="post">
                            <?php } else {?>
                            <form action="intodb/add_category.php" method="post">
                                <?php } ?>

                                <label class="label" for="admin_add_category_bar">Add Category</label>
                                <div class="field is-grouped">

                                    <p class="control is-expanded">

                                        <?php if (check_method('get') && isset($_GET['get'])) {?>

                                            <input id="admin_add_category_bar" name="admin_add_category_bar_edit" class="input" type="text" placeholder="Add Your Category Here" value="<?php echo $cat_name; ?>">

                                            <?php


                                            ?>
                                        <?php } else {?>
                                            <input id="admin_add_category_bar" name="admin_add_category_bar" class="input" type="text" placeholder="Add Your Category Here">

                                        <?php } ?>
                                    </p>
                                    <p class="control">
                                        <input type="submit" name="admin_add_category_submit" class="button is-info my_fucking_hover_right_arrow" value="Add Category">
                                    </p>
                                </div>
                            </form>


                            <div class="">

                                <!--            start: body for all posts inside admin          -->


                                <table class="table is-bordered">
                                    <thead>
                                    <tr>
                                        <th><p>Category Name</p></th>
                                        <th><p>Edit</p></th>
                                        <th><p>Delete</p></th>
                                    </tr>
                                    </thead>

                                    <?php

                                    global $connection;
                                    $sql = "SELECT * FROM categories ;";

                                    $result = mysqli_query($connection, $sql);
                                    if (!$result) {
                                        echo mysqli_error($connection);
                                    }
                                    while($row = mysqli_fetch_assoc($result))
                                    {
                                        ?>
                                        <tbody>
                                        <tr>
                                            <td><p><?php echo $row['category_name']?></p></td>
                                            <td>
                                                <a href="admin_category.php?get=<?php echo $row['category_id']; ?>" class="button is-info my_fucking_hover_right_arrow" >Edit</a>

                                            </td>

                                            <td>
                                                <a href="admin_category.php?delete=<?php echo $row['category_id']; ?>" class="button is-danger my_fucking_hover_right_arrow" >Delete</a>

                                            </td>
                                        </tr>


                                        </tbody>
                                    <?php }?>
                                </table>

                                <!--           end: body for all posts inside admin             -->




                            </div>

                    </div>
                </div>


            </div>

        </div>
        </div>

Có điều gì đó vừa mới xuất hiện trong đầu tôi, tôi cũng đang thêm biến kết nối thông qua kết nối $ toàn cầu ;. Vì vậy, tôi nghĩ về cơ bản một tập hợp hệ thống truy vấn hoàn toàn mới đang được khởi động sau khi kết thúc câu lệnh chuẩn bị với mysqli_stmt_close ($ stmt); và tôi cũng đang thêm những tệp này và những thứ khác thông qua bao gồm


get_category.php (ở đây sử dụng câu lệnh chuẩn bị) pastebin.com/BiWysdYz admin_get_category_body.php (tại đây mysqli) pastebin.com/Pwm30icm Lưu ý: Không thể đăng tất cả mã do giới hạn
Mahad Ali

Có điều gì đó vừa mới xuất hiện trong đầu tôi, tôi cũng đang thêm biến kết nối thông qua kết nối $ toàn cầu ;. Vì vậy, tôi nghĩ về cơ bản một tập hợp hệ thống truy vấn hoàn toàn mới đang được khởi động sau khi kết thúc câu lệnh chuẩn bị với mysqli_stmt_close ($ stmt); và tôi cũng đang thêm những tệp này và những thứ khác thông qua bao gồm.
Mahad Ali

-1

Đây là một câu hỏi cũ, nhưng không có câu trả lời nào đã đăng hoạt động trong trường hợp của tôi, tôi thấy rằng trong trường hợp của tôi, tôi đã chọn và cập nhật trên một bảng trong quy trình được lưu trữ của mình, cùng một bảng có một trình kích hoạt cập nhật đang được kích hoạt và sắp xếp thủ tục thành một vòng lặp vô hạn. Khi lỗi được tìm thấy, lỗi đã biến mất.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.