2016-04-06 2 views
-1

Ich kenne PHP nicht sehr gut, weil ich Android-Entwickler bin, also bitte helfen Sie mir. Ich habe gerade versucht, XML-Daten in die Datenbank mit PHP einzugeben. Ich habe andere Beispiele gesehen, verstehe aber nicht, was ich in meinem Fall tun kann.Wie kann ich XML-Service analysieren und in die Datenbank einfügen mit PHP

XML Link:http://ca.sharmatutorial.com/ws.asmx/GET_Question_ByDate?dtDate=2016-03-17

PHP-Code: Hier ist, was kann ich für abrufen und einstellen Daten in der Datenbank zu definieren. Ich weiß unterhalb Code nicht korrekt. Bitte korrigieren Sie meine für jede Schleife für Opt-Objekt und andere auch überprüfen Sie bitte meine SQL-Abfrage.

<!doctype HTML> 
    <html> 
    <head> 
    <?php 
    header('Content-Type: application/xml; charset=utf-8'); 
    $mysqli = new mysqli ('localhost', 'mabhim92', '9993115300', 'gcm_chat'); 
    ?> 
</head> 
<body> 
<?php 
$xml = simplexml_load_file("http://ca.sharmatutorial.com/ws.asmx/GET_Question_ByDate?dtDate=2016-03-17"); 

$nodes = new SimpleXMLElement($xml, null, true) 
    or die("cannot create"); 

foreach ($nodes->children() as $child) 
{ 
$Ques_id= $child->id; 
$Question= $child->text; 
$Option_1= $child->opt; 
$Option_2= $child->opt; 
$Option_3= $child->opt; 
$Option_4= $child->opt; 
$Answer= $child->opt->ans; 
$date= $child->date; 
)); 
$sql = "INSERT INTO feeds (Ques_id, Question, Option_1, Option_2, Option_3, Option_4, Answer, date) VALUES('". $Ques_id."','". $Question."','". $Option_1."','". $Option_2."','". $Option_3."','". $Option_4."','". $Answer."','". $date."')"; 
mysql_query($sql); 
} 
    ?> 
</body> 
</html> 

Mein Datenbankfeld:

1 Ques_id = id

2 Frage = text

3 option_1 = opt (erste obj in opts Wert)

4 Option_2 = opt (zweites Objekt in opts Wert)

5 Option_3 = opt (dritte obj in opts Wert)

6 Option_4 = opt (vierte obj in opts Wert)

7 Antwort = (die opt ans = 1)

8 Datum (Zeitstempel) = Datum

Antwort

0

Sie haben mysqli Syntax verwendet, die gut ist. Aber zur Abfrage Ausführungszeit haben Sie alte mysql_ * Syntax verwendet, die falsch ist.

Siehe diesen Link: - MySQL vs MySQLi when using PHP

Vorschläge: -

1) Sie sollten sowie Abfrage Fehler auch Verbindungsfehler überprüfen.

2) Wenn Ihre Abfrage hat äußere doppelte Anführungszeichen ("") dann ist keine Notwendigkeit der Konkatation. Sie können einfach einfaches Zitat um Ihre PHP-Variable hinzufügen.

3) Es empfiehlt sich, in Ihrer DB-Tabelle den Primärschlüssel hinzuzufügen.

4) Verbindungsobjekt in Body-Tag anstelle von Header-Tag schreiben.

5) Immer ON Ihre Fehler in Entwicklung Reporting Mode

<!doctype HTML> 
<html> 
<head>  
</head> 
<body> 
<?php  
    header('Content-Type: application/xml; charset=utf-8'); 
    $mysqli = new mysqli ('localhost', 'mab***', '99931***', 'gcm**'); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 

$xml = simplexml_load_file("http://ca.sharmatutorial.com/ws.asmx/GET_Question_ByDate?dtDate=2016-03-17"); 

$nodes = new SimpleXMLElement($xml, null, true) or die("cannot create"); 

foreach ($nodes->children() as $child) 
{ 
    $Ques_id= $child->id; 
    $Question= $child->text; 
    $Option_1= $child->opt; 
    $Option_2= $child->opt; 
    $Option_3= $child->opt; 
    $Option_4= $child->opt; 
    $Answer= $child->opt->ans; 
    $date= $child->date; 
//)); Typo error. No need for this line 
$sql = "INSERT INTO feeds (Ques_id, Question, Option_1, Option_2, Option_3, Option_4, Answer, date) VALUES('$Ques_id','$Question','$Option_1','$Option_2','$Option_3','$Option_4','$Answer','$date')"; 
$res = $mysqli->query($sql); 

    if (!$res) { 
     printf("Errormessage: %s\n", $mysqli->error); 
    } 
} 

$mysqli->close(); // close connection 
    ?> 
</body> 
</html> 

es Ihnen Hoffnung helfen :-)

+0

nicht seine nicht meine Antwort, die ich in Schleife entscheiden will, weil sie mehr in opt Knoten Bitte beachten Sie, dass ich diesen Link analysieren und einfügen muss http://ca.sharmatutorial.com/ws.asmx/GET_Question_ByDate?dtDate=2016-03-17 –

Verwandte Themen