Возможна утечка памяти с готовыми высказываниями?

Я пытаюсь выучить готовые утверждения, и это выдает ошибку, которую я хотел бы узнать, как исправить.

Данные в таблице Item вводятся пользователями, поэтому я использую подготовленное утверждение и для этого, и хорошо … практика, конечно …

Я потратил около часа на поиск этого сайта, и большинство сайтов рекомендуют изменить ограничение памяти на более высокое значение .. Я не думаю, что это потребуется, поскольку в таблице, которую я выбираю, очень мало строк.

Пользователь загружает страницу, и она будет перечислять элементы. Отсюда они могут покупать указанные предметы с очками, которые они получают за участие в программе, которую мы запускаем. Это запрос для перечисления предметов.

Неустранимая ошибка: допустимый объем памяти в 201326592 байта исчерпан (попытка выделить 4294967296 байтов) в (удалено, но находится местоположение файла) в строке 80

$Select_stmt2->bind_result($Item_Key, $Item_Image, $Item_Name, $Item_Amount, $Item_Describe);

Также переменная $ conn извлекается из второго файла configure.php во время заголовка. Я буду отображать его без информации для подключения к серверу.

//Connect to Database
$conn = new mysqli('localhost', 'Username', 'Password', 'Table Name');
//Item Points
$Enabled = 'Enabled';

$Select_Query2 = "SELECT Item_Key, Item_Image, Item_Name, Item_Amount, Item_Describe FROM Item WHERE Item_Status = ?";
$Select_stmt2 = $conn->prepare($Select_Query2);
$Select_stmt2->bind_param('s',$Enabled);
$Select_stmt2->execute();

$Select_stmt2->bind_result($Item_Key, $Item_Image, $Item_Name, $Item_Amount, $Item_Describe);
if(!$Select_stmt2)
{
echo'Error: Selecting Items';
}
else
{
/* Code to display the data for line 80 on the website */
}

3

Решение

У вас есть колонка BLOB-объектов? Число 4294967296 указывает, что вы пытаетесь выделить память для максимальной длины столбца BLOB-объекта. Это может быть ошибка, но не утечка, а виновник может быть оператором связывания. Если у вас есть столбец BLOB-объектов, и он продолжает выдавать ошибку, попробуйте привести его к varchar в вашем операторе select.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]