ALTER TABLE ADD AFTER работает в запросе SQL, но не в переполнении стека

Когда я запускаю SQL-запрос в phpMyAdmin напрямую, он работает; однако выполнение одного и того же запроса из файла PHP не влияет на таблицу базы данных и также не выдает никаких ошибок.

ALTER TABLE tender_230115 ADD avt DECIMAL(10,2) NOT NULL AFTER vpm

Версия PHP 5.3.28. Соединение с базой данных действительно установлено. Когда я бегу:

$test_query = "ALTER TABLE tender_230115 ADD avt DECIMAL(10,2) NOT NULL AFTER vpm";
$upload_test = $conn->query($test_query);

Ничего не затрагивается в таблице базы данных, пока var_dump ($ upload_test) = bool (false).

Цитаты и кавычки тоже не помогают. С использованием MySQLi Водитель.

-1

Решение

Отрываясь от сказанного выше @Keo и @Mihai, ваш код должен быть:

$existing_tender = "tender_230115";
$existing_user = "avt";
$penultimate_name = "vpm";
$insert_column = "ALTER TABLE `$existing_tender` ADD `$existing_user` DECIMAL(10,2) NOT NULL AFTER `$penultimate_name`";
$upload = $conn->query($insert_column);

Чтобы увидеть больше информации об ошибке, вы можете добавить следующий код под кодом выше:

var_dump($conn->error);

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

Итак, еще кое-что, что нужно посмотреть, это разрешения. Является ли пользователь MySQL
в PhpMyAdmin так же, как пользователь, которого вы используете в PHP? Например,
Вы можете войти в PhpMyAdmin со своей личной учетной записью, однако вы
может иметь другую учетную запись проекта, которую вы используете для
MySQL соединение. Если это так, убедитесь, что ваш проект mysql
учетная запись имеет права доступа к таблицам ALTER.

0

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

@ Майкл Ли Кроуфорд определенно указывал на пользовательские разрешения. Cpanel предоставляет вам меню баз данных MySQL, где пользователь может выбрать свое имя пользователя и изменить разрешения, чтобы иметь возможность использовать запрос ALTER TABLE SQL из файла PHP. То же самое относится к UPDATE, CREATE и другим командам SQL.

0