簡體   English   中英

如何在DOMDocument XML的每個元素上添加引號以保存在MySQL數據庫中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM