Sorun takmadan XML MySQL tabel verileri çözümlü

1 Cevap php

Ben PHP DOM kullanarak XML ayrıştırmak çalışıyorum ve sonra MySQL tablolarda bu verileri eklemek duyuyorum, ben bunun için aşağıdaki kodu kullanıyorum:

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("testrtap11.xml");
mysql_select_db("zeeshan_database1", $con);

$x=$xmlDoc->getElementsByTagName('RECORD');
$z=$xmlDoc->getElementsByTagName('TITLE');
$w=$xmlDoc->getElementsByTagName('PRIMARY_AUTHOR');
$y=$xmlDoc->getElementsByTagName('JOURNAL_CONFERENCE');

for($i=0; $i<=$x->length-1; $i++)
{
	$sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES('$z->item($i)->nodeValue','$w->item($i)->nodeValue','$y->item($i)->nodeValue')";

	if (!mysql_query($sql,$con))
	{
		die('Error: ' . mysql_error());
	}
	echo "1 record added";
}

mysql_close($con)
?>

Girmiş olan veriler doğru değil. ben bile bile işler değildir, bir değişkene benim xml ayrıştırma değerleri saklamak ve daha sonra veri eklemek için bu değişkeni kullanarak denedim. Bu gibi değişken kullanılmıştır:

for($i=0; $i<=$x->length-1; $i++)
{
	$zz=$z->item($i)->nodeValue);
	$ww=$w->item($i)->nodeValue);
	$yy=$y->item($i)->nodeValue);
	$sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES('$zz','$ww','$yy')";

	if (!mysql_query($sql,$con))
	{
		die('Error: ' . mysql_error());
	}
	echo "1 record added";
}

Benim xml Bu gibi görünüyor:

<RTAP>
  <RECORD>
     <TITLE>               </TITLE>
     <PRIMARY_AUTHOR>      </PRIMARY_AUTHOR>
     <JOURNAL_CONFERENCE>  </JOURNAL_CONFERENCE>
  </RECORD>
</RTAP>

Lütfen ben bu ne yapmalıyım, bana yardım

Best Zeeshan

1 Cevap

Böyle bir şey deneyin:

foreach ($xmlDoc->RECORD as $record)
{
    $sql = 'INSERT INTO Persons (FirstName, LastName, Age) VALUES('
    	. '"' . mysql_escape_string($record->TITLE->nodeValue) . '", '
    	. '"' . mysql_escape_string($record->PRIMARY_AUTHOR->nodeValue) . '", '
    	. '"' . mysql_escape_string($record->JOURNAL_CONFERENCE->nodeValue) . '")'

    if (!mysql_query($sql,$con))
    	die('Error: ' . mysql_error());

    echo "1 record added";
}

Aslında eklendiğinde, veri ile yanlış ne demek bilmiyorum ...