Strict Standards: Non-static method DOMDocument::load() should not be called sta

Hi…
I tried to import to my database an xml file using this code:


<?php
//ini_set('display_errors', -1);
//error_reporting(E_ALL);
//error_reporting(-1);
error_reporting(E_ALL | E_STRICT);
//error_reporting(E_ALL ^ E_NOTICE);
  date_default_timezone_set("Asia/Singapore"); //set the time zone
$data = array();
$con = mysql_connect("localhost", "root","");
if (!$con) {
  die(mysql_error());
}
$db = mysql_select_db("mes", $con);
if (!$db) {
  die(mysql_error());
}


function add_employee($ETD,$PO_No,$SKUCode,$Description,$POReq ,$Comp)
  {
      global $data;


      $con = mysql_connect("localhost", "root","");
      if (!$con){ die(mysql_error());}
      $db = mysql_select_db("mes", $con);
      if (!$db) {
          die(mysql_error());
      }
      $ETD= $ETD;
      $PO_No = $PO_No;
      $SKUCode = $SKUCode;
      $Description = $Description;
      $POReq = $POReq;
      $Comp = $Comp;

      $sql = "INSERT INTO sales_order (ETD,PO_No,SKUCode,Description,POReq,Comp)
      VALUES
      ('$ETD','$PO_No','$SKUCode','$Description','$POReq','$Comp')
      ON DUPLICATE KEY UPDATE
      ETD = '$ETD', PO_No = '$PO_No', SKUCode = '$SKUCode', Description = '$Description', POReq = '$POReq', Comp = '$Comp'" or die(mysql_error());
      $res = mysql_query($sql, $con);

       $data []= array('ETD'=>$ETD,'PO_No'=>$PO_No,'SKUCode'=>$SKUCode,'Description'=>$Description,'POReq'=>$POReq,'Comp'=>$Comp);
}
// if (isset($_FILES['file']['tmp_name'])){

  if(empty($_FILES['file']['tmp_name']['error'])){
     $dom = new DOMDocument();
      $dom = DOMDocument::load('SalesOrder.xml');
   //$dom = DOMDocument::load($_FILES['file']['tmp_name']);
    //$dom = DOMDocument::__construct();
      $rows = $dom->getElementsByTagName('Row');
      global $last_row;
      $last_row = false;
      $first_row = true;
      foreach ($rows as $row)
      {
          if ( !$first_row )
          {
              $ETD = "";
              $PO_No = "";
              $SKUCode = "";
              $Description = "";
              $POReq = "";
              $Comp = "";

              $index = 1;
              $cells = $row->getElementsByTagName( 'Cell' );

              foreach( $cells as $cell )
              {
                  $ind = $cell->getAttribute( 'Index' );
                  if ( $ind != null ) $index = $ind;
                  if ( $index == 1 ) $ETD = $cell->nodeValue;
                  if ( $index == 2 ) $PO_No = $cell->nodeValue;
                  if ( $index == 3 ) $SKUCode = $cell->nodeValue;
                  if ( $index == 4 ) $Description = $cell->nodeValue;
                  if ( $index == 5 ) $POReq = $cell->nodeValue;
                  if ( $index == 6 ) $Comp = $cell->nodeValue;
                                    $index += 1;
              }
             if ($ETD=='' AND $PO_No=='' AND $SKUCode=='' AND $Description=='' AND $POReq=='' AND $Comp=='') {
                    $last_row = true;
              }
              else {
                    add_employee($ETD,$PO_No,$SKUCode,$Description, $POReq, $Comp);
              }
          }
          if ($last_row==true) {
              $first_row = true;
          }
          else {
              $first_row = false;
          }
      }
  }

  ?>

but I got an error:
Strict Standards: Non-static method DOMDocument::load() should not be called statically
in this part:
$dom = DOMDocument::load(‘SalesOrder.xml’);
I hope somebody can help me…I need to import data from .xml to my database.
Thank you so much

The reason why it’s happening is because your calling a method in the DOMDocument class in which is not static, instead of calling it with :: you need to call it with ->. See the following link which has an example of how to use the methods.

http://www.php.net/manual/en/domdocument.load.php

Yes, ur right thats the solution…

Thank you for your help…