Усечение таблицы MySQL через функцию PHP не работает

Я искал и нашел других с похожими проблемами, но в большинстве случаев они просто не использовали ключевое слово «global» до вызова соединения с БД. По сути, я пытаюсь запустить функцию, которая усекает таблицу на основе того, что передается в функцию.

В recipes.php

 truncate_table('bl_recipes');

И в functions.php

 // Truncate table passed in function
function truncate_table($table) {
global $con;
$truncate_query = '"TRUNCATE TABLE  ' . $table . '"';
$truncate = mysqli_query($con, $truncate_query);
if ($truncate) {
echo 'Table truncated.';
}
else {
echo 'Table not truncated.';
echo 'The query was ' . $truncate_query;
}
}

Если я отображаю $ truncate, я получаю TRUNCATE TABLE ‘bl_recipes’; это именно то, что я получаю, если я обрезаю вручную из PHPMyAdmin. Детали в $ con верны, так как другие запросы работают, хотя ни один из них не был в файле functions.php. Само соединение с базой данных в настоящее время определено в functions.php, которое я могу переместить позже, но сейчас, во время разработки, я не думаю, где оно находится. Пользователь имеет все привилегии БД. Результат при загрузке страницы: «Таблица не обрезана».

Кто-нибудь знает, что я делаю не так?
Ура,
Lee.

0

Решение

Использовать этот

$truncate_query = 'TRUNCATE TABLE  `' . $table .'`';

или это

$truncate_query = "TRUNCATE TABLE  `$table`";
2

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

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

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