Так что я пишу файл XML в php с fopen/fwrite/fclose и затем пытаюсь сохранить эту информацию в базе данных MySQL BLOB Поле; однако я столкнулся с проблемой, когда после сохранения информации в MySQL весь файл содержит «Идентификатор ресурса № 33» и ни одна информация, которую я пытался сохранить.Не удается сохранить содержимое файла xml в mysql с помощью fopen/fwrite/fclose (php)
$blahXMLFile = fopen($_POST['scenBlahNewName'].".xml","wb");
fwrite($blahXMLFile, "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>");
fwrite($blahXMLFile, "<Blah>");
fwrite($blahXMLFile, "<Name>");
fwrite($blahXMLFile, $_POST['scenBlahNewName']);
fwrite($blahXMLFile, "</Name>");
fwrite($blahXMLFile, "</Blah>");
fclose($blahXMLFile);
$sql = "INSERT INTO blah (xmlFile)
VALUES ('$blahXMLFile');";
if($conn->query($sql) === TRUE) {
} else { echo "<script>alert('Error: " . $sql . "<br>" . $conn->error . "');</script>";
echo "Error: " . $sql . "<br>" . $conn->error;
} //end else
И затем после этого я беру $ blahXMLFile переменную PHP и попытаться сохранить его в BLOB поле в моей базе данных MYSQL и «Resource ID # 33» это все, что в файле , Это также имеет место, если я использую javascript для предупреждения переменной php.
Что мне не хватает?
EDIT: Попытка использовать Fread здесь правильно основаны от комментария:
$blahXMLResource = fopen($_POST['scenBlahNewName'].".xml","w");
$blahXMLFile = fread($blahXMLResource, filesize($_POST['scenBlahNewName'].".xml"));
Потому что не сохраняете файл вообще больше.
С каких пор вы пишите в базу данных с помощью fwrite? – developerwjk
Я не использую fwrite для фактического сохранения содержимого в базе данных, просто для записи в файл; Я использую sql-запросы, но я пытаюсь выяснить, как именно сохранить информацию CORRECT, потому что ни один из этих содержимого не сохраняется, просто Идентификатор ресурса № 33. –
Обязательно проверьте наличие ошибок после 'fopen()' с соответствующей диагностикой при сбое. Удостоверьтесь в правильной дезинфекции ввода пользователя в '$ _POST ['scenBlahNewName']'. Добавьте промежуточные диагностические отпечатки, чтобы убедиться, что вы действительно знаете, к какому файлу записываются данные. –