Получение базы данных mySQL из формы HTML с помощью PHP

Нет прямого способа сделать это, насколько я знаю. Взаимодействующие библиотеки Word не могут читать из потока байтов. Если вы не работаете с огромными (или огромными) файлами, я бы рекомендовал просто использовать файл tmp:

Application app = new Application();

byte[] wordContent = GetBytesInSomeWay();

var tmpFile = Path.GetTempFileName();
var tmpFileStream = File.OpenWrite(tmpFile);
tmpFileStream.Write(wordContent, 0, wordContent.Length);
tmpFileStream.Close();

app.Documents.Open(tmpFile);

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

Если вы все еще хотите посмотреть способ решить его так, как вы его намереваетесь, я бы рекомендовал ответы в этом потоке.

-1
задан Chloe13 15 January 2019 в 21:42
поделиться

2 ответа

Убедитесь, что вы добавили extract(

Убедитесь, что вы добавили [110] (или что-то подобное) в свой PHP-код!

Вам нужно извлечь параметры из вашего POST-запроса перед их использованием, иначе ваши $name, $testsentence и $courseid будут неопределенными.

POST)
(или что-то подобное) в свой PHP-код!

Вам нужно извлечь параметры из вашего POST-запроса перед их использованием, иначе ваши $name, $testsentence и $courseid будут неопределенными.

0
ответ дан Anis R. 15 January 2019 в 21:42
поделиться

Вы получаете пустые опции ПОСЛЕ каждой опции с ожидаемым значением, потому что вам не удалось написать закрывающий тег опции. / необходимо записать во второй тег option следующим образом:

while ($row = mysqli_fetch_array($result)) {
    echo "<option>{$row['CourseID']}</option>";
}

Теги option по-прежнему отображаются, даже если вы их не закроете должным образом. В этом случае ошибка проявляется в том, что она дважды генерирует нужные теги.

Я рекомендую вам использовать MYSQLI_ASSOC в качестве второго параметра вашего вызова mysqli_fetch_array или более удобно: mysqli_fetch_assoc

Фактически, поскольку $result является итеративным, вы можете написать: [1116 ]

foreach ($result as $row) {
    echo "<option>{$row['CourseID']}</option>";
}

Об использовании extract(

Вы получаете пустые опции ПОСЛЕ каждой опции с ожидаемым значением, потому что вам не удалось написать закрывающий тег опции. [113] необходимо записать во второй тег option следующим образом:

[110]

Теги option по-прежнему отображаются, даже если вы их не закроете должным образом. В этом случае ошибка проявляется в том, что она дважды генерирует нужные теги.

Я рекомендую вам использовать [114] в качестве второго параметра вашего вызова [115] или более удобно: [116]

Фактически, поскольку [117] является итеративным, вы можете написать: [1116 ] [111]


Об использовании [118] ...

Я ни разу не нашел веской причины использовать extract в одном из моих сценариев. Ни разу. Кроме того, в руководстве по php есть специальное предупреждение :

Предупреждение Не используйте extract () для ненадежных данных, таких как ввод данных пользователем (например, $ _GET, $ _FILES). [ 1119]

На странице появилось больше предупреждений, но вы фактически внесли небезопасный характер в свой код, вызвав extract для предоставленных пользователем данных. НИКОГДА НЕ ДЕЛАЙТЕ ЭТОГО, НЕТ ХОРОШЕЙ ПРИЧИНЫ, ЧТОБЫ ЭТО СДЕЛАТЬ.

Вот достойная страница, которая говорит о доступе к отправленным данным: Переменная PHP Pass на следующую страницу

В частности, именно так вы получаете доступ к ожидаемым суперглобальным данным:

[112 ]

Вы никогда не должны записывать нефильтрованные, неанимированные пользователем данные непосредственно в ваш запрос mysql, это в лучшем случае приводит к нестабильности запроса и в худшем случае к ненадежности.

Вы должны использовать подготовленный оператор с заполнителями и связанными переменными в вашем запросе INSERT. Существуют тысячи примеров того, как выполнить этот процесс в Stackoverflow, изучайте его до тех пор, пока он не станет понятным - не говорите себе, что вы сделаете это слоем.

POST)
...

Я ни разу не нашел веской причины использовать extract в одном из моих сценариев. Ни разу. Кроме того, в руководстве по php есть специальное предупреждение :

Предупреждение Не используйте extract () для ненадежных данных, таких как ввод данных пользователем (например, $ _GET, $ _FILES). [ 1119]

На странице появилось больше предупреждений, но вы фактически внесли небезопасный характер в свой код, вызвав extract для предоставленных пользователем данных. НИКОГДА НЕ ДЕЛАЙТЕ ЭТОГО, НЕТ ХОРОШЕЙ ПРИЧИНЫ, ЧТОБЫ ЭТО СДЕЛАТЬ.

Вот достойная страница, которая говорит о доступе к отправленным данным: Переменная PHP Pass на следующую страницу

В частности, именно так вы получаете доступ к ожидаемым суперглобальным данным:

[112 ]

Вы никогда не должны записывать нефильтрованные, неанимированные пользователем данные непосредственно в ваш запрос mysql, это в лучшем случае приводит к нестабильности запроса и в худшем случае к ненадежности.

Вы должны использовать подготовленный оператор с заполнителями и связанными переменными в вашем запросе INSERT. Существуют тысячи примеров того, как выполнить этот процесс в Stackoverflow, изучайте его до тех пор, пока он не станет понятным - не говорите себе, что вы сделаете это слоем.

0
ответ дан mickmackusa 15 January 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: