Как добавить кавычки к каждому элементу XML DOMDocument для сохранения в базе данных MySQL

Извините за английский, а не за мой родной язык.

Итак, я пытаюсь сохранить каждый элемент между тегами XML в моей базе данных MySQL. Все выглядит хорошо, но мне нужно добавить «» для каждого элемента. Посмотрите:

XML (если это поможет)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<layout>
<encabezado>
<fecha_reporte> 2017-01-31</fecha_reporte>
<fecha_esperada>2017-02-28 </fecha_esperada>
</encabezado>

<detalle>
<matricula>20152999 </matricula>
<nombre>Ivan </nombre>
<creditos_costo>1100 </creditos_costo>
<creditos_cursar>20 </creditos_cursar>
<creditos_monto> 22000</creditos_monto>
</detalle>

<piedepagina>
<total_estudiantes> 1</total_estudiantes>
<total_creditos>20 </total_creditos>
<monto_totalcred>22000 </monto_totalcred>
</piedepagina>
</layout>

PHP:

<?php

require ('conexion.php');

$doc = new DOMDocument();
$doc->load('Layout.xml');
$estudiante= $doc->saveXML();

$escapando = mysql_real_escape_string($estudiante);
$query = "INSERT INTO nomina (fecha_reporte, fecha_esperada, matricula,
nombre, creditos_costo, creditos_cursar, creditos_monto,
total_estudiante, total_creditos, monto_totalcred) VALUES ('$escapando')";

echo $query;

?>

echo $query; дает мне эту строку: INSERT INTO nomina (fecha_reporte, fecha_esperada, matricula, nombre, creditos_costo, creditos_cursar, creditos_monto, total_estudiante, total_creditos, monto_totalcred) VALUES ('\n\n \n 2017-01-31\n 2017-02-28 \n \n \n \n 20152999 \n Ivan \n 1100 \n 20 \n 22000\n \n \n \n 1\n 20 \n 22000 \n \n\n') если я удалю mysql_real_escape_string эхо будет печататься без \n так что я думаю, что я должен удалить это.

Как я могу сделать, чтобы добавить «» к каждому элементу? например, вот так:
INSERT INTO nomina (fecha_reporte, fecha_esperada, matricula, nombre, creditos_costo, creditos_cursar, creditos_monto, total_estudiante, total_creditos, monto_totalcred) VALUES ('2017-01-31', '2017-02-28', '20152999' 'Ivan', '1100', '20', '22000', '1', '20', '22000')

0

Решение

Я думаю, что это сработало бы, если бы вы сделали что-то подобное

INSERT INTO nomina (fecha_reporte, fecha_esperada, matricula, nombre, creditos_costo, creditos_cursar, creditos_monto, total_estudiante, total_creditos, monto_totalcred) VALUES ('"2017-01-31"', '"2017-02-28"', '"20152999"' '"Ivan"', '"1100"', '"20"', '"22000"', '"1"',   '"20"', '"22000"')

Однако, если вы храните запрос в двойных кавычках, как это

$sql = "INSERT INTO bla VALUES (blabla)";

Тогда запрос должен быть:

INSERT INTO nomina (fecha_reporte, fecha_esperada, matricula, nombre, creditos_costo, creditos_cursar, creditos_monto, total_estudiante, total_creditos, monto_totalcred) VALUES ('\"2017-01-31\"', '\"2017-02-28\"', '\"20152999\"' '\"Ivan\"', '\"1100\"', '\"20\"', '\"22000\"', '\"1\"',   '\"20\"', '\"22000\"')

Избегать двойных кавычек должно работать.

0

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

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

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