![](/img/trans.png)
[英]How to properly save string with quotation marks to database for further displaying?
[英]How add quotation marks to each element of the DOMDocument XML to save in MySQL Database
对不起英语,不是我的母语。
因此,我试图在MySQL数据库中的XML标签之间保存每个元素。 看起来不错,但我需要在每个元素上添加“”。 看:
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')
我想如果你做这样的事情会起作用
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\"')
转义双引号应该起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.