Задавайте вопросы, мы ответим
Вы не зашли.
$dbCategory = $mysqli->query( "SELECT id FROM tasks_category WHERE id = '" . ( int )$_POST['category'] . "' LIMIT 1" );
if ( $dbCategory->num_rows == 0 ) {
$data = array(
'status' => 'error',
'text' => response_text( 'Выбранная Вами категория не существует!' )
);
print json_encode( $data );
exit();
}
$dbCategory->free();
Объяните пожалуйста, как правильно нужно очищать память, если у меня пере этим идет exit();, получается что запрос был но не очистился, а если условие правильное то идет очистка. Получается что мне нужно в 2 местах очищать память?
еще... можно вот так делать?
$dbCategory = $mysqli->query( "SELECT id FROM tasks_category WHERE id = '" . ( int )$_POST['category'] . "' LIMIT 1" );
if ( $dbCategory->num_rows > 0 ) {
$rowDbCategory = $dbCategory->fetch_assoc();
$dbCategory->free();
}
Отредактированно oneboy (12.04.2015 15:25:46)
Неактивен
Да, нужно очищать в двух местах. Если это exit(), то при завершении скрипта память очистится автоматически, однако не стоит на это опираться. Правильный код должен работать независимо от действий окружения. Для экономии вызовов PHP система может откладывать автоочистку памяти.
Неактивен
Спасибо большое за ответ, еще маленький такой вопрос по поводу insert update
вот например
$mysqli->query("UPDATE и так далее");
я вот видел что делаю вот так
$db = $mysqli->query("UPDATE и так далее");
$db->free();
как я понял, что при любых действиях с базой данных нужно отчищать запросы? или только в случае с INSERT
Неактивен
Результат INSERT,UPDATE и DELETE - просто True или False. Можно не вызывать функцию очистки памяти в этом случае.
Неактивен