php skriptində səhv

salam.  xml fayllarını bazaya atmaq məqsədi ilə kiçik bir php skripti yazdım – amma atmadı -)) 
görünüş etibarilə bir səhv etməmişəm,  amma nəsə çatışmaqzlıq var deyəsən. 

örnək xml faylı. 

<br /><Valute Code="ZAR"><br /><Nominal>1</Nominal><br /><Name>Cənubi Afrika randı</Name><br /><Value>0.0848</Value><br /></Valute><br /><Valute Code="LTL"><br /><Nominal>1</Nominal><br /><Name>Litva liti</Name><br /><Value>0.2924</Value><br /></Valute><br /><Valute Code="PLN"><br /><Nominal>1</Nominal><br /><Name>Polşa zlotası</Name><br /><Value>0.2413</Value><br /></Valute><br /><Valute Code="CNY"><br /><Nominal>1</Nominal><br /><Name>Çin yuanı</Name><br /><Value>0.1276</Value><br /></Valute><br /><Valute Code="INR"><br /><Nominal>1</Nominal><br /><Name>Hindistan rupisi</Name><br /><Value>0.0143</Value><br /></Valute><br />

 

php skripti

</p><p><?php</p><p>$link = mysql_connect('host', 'root', 'parol') or die ('xxxxxx');<br /> $dbselect = mysql_select_db('test', $link) or die ('xxxxxxx');</p><p>$doc = new DOMDocument(); <br />$doc->load( 'vlytkrs.xml' ); </p><p><br />$valyutalar = $doc->getElementsByTagName( "Valute"</p><p>foreach( $valyutalar as $valyuta ) <br />{ <br /> $nominal = $valyuta->getElementsByTagName( "Nominal" ); <br /> $nom = $nominal->item(0)->nodeValue; <br /> <br /> $name= $valyuta->getElementsByTagName( "Name" ); <br /> $ad= $name->item(0)->nodeValue; <br /> <br /> $value = $valyuta->getElementsByTagName( "Value" ); <br /> $val = $value->item(0)->nodeValue; <br /> <br /><br />}<br /> <br /> $sql = "INSERT INTO 'test'.'valyuta'(id, mebleg, pul_adi, deyer, tarix) VALUES(NULL, $nom, $ad, $val, CURDATE())";<br /> $res = mysql_query($sql);<br /><br /> if (!$res):<br /> echo "exoo";<br /> else:<br /> echo "asagidakilar daxil olundu";<br /> echo "<b>".$nom." ".$ad. " - " .$val. "AZN\n</b><br>";<br /> endif;<br /><br /> ?></p><p>

skriptini işə salanda, “exoo” yazılır. yəni, (!$res) şərti ödənilir – niyə? bilmirəm.
eyni alqoritmlə bu skripti pythonda yazdım – o işlədi. 

 

 


Yadda saxlama
Kateqoriya: Sual . , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (8 cavab var)

(23:58, 16/05/2013 ) #29979

Sintaksis səhvidir.

INSERT INTO 'test'.'valyuta'

–>

INSERT INTO `test`.`valyuta`
Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(10:30, 17/05/2013 ) #29983

nəticə eyni qaldı.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(11:27, 17/05/2013 ) #29984

Salam. Kodları aydın şəkildə, CODE [] teqinin içərisində insert edin normal görünsün, kömək etməyə çalışaq

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(12:33, 17/05/2013 ) #29989
<?php 

$link = mysql_connect('localhost', 'root', ' ') or die ('xxxx');
  $dbselect = mysql_select_db('test', $link) or die ('yyyy');



$date = date ("d.m.Y");
$url = "http://www.cbar.az/currencies/" .$date. ".xml";
// print $url ."<br />";

$doc = new DOMDocument(); 

$doc->load($url); 
   
$valyutalar = $doc->getElementsByTagName( "Valute" ); 
foreach( $valyutalar as $valyuta ) 
{ 
  $nominal = $valyuta->getElementsByTagName( "Nominal" ); 
  $nom = $nominal->item(0)->nodeValue; 
   
  $name= $valyuta->getElementsByTagName( "Name" ); 
  $ad= $name->item(0)->nodeValue; 
   
  $value = $valyuta->getElementsByTagName( "Value" ); 
  $val = $value->item(0)->nodeValue; 
     
	
  // echo "<b>".$nom." ".$ad. " - " .$val. "AZN\n</b><br>-----------------------<br>";
	 
  
  $sql = "INSERT INTO `test`.`valyuta`(id, mebleg, pul_adi, deyer, tarix) VALUES(NULL, $nom, $ad, $val, CURDATE())";
$res = mysql_query($sql);
  
  }
    if (!$res):
      echo "exoo";
  else:
	  echo "asagidakilar daxil olundu";
	  echo "<b>".$nom." ".$ad. " - " .$val. "AZN\n</b><br>";
  endif;
   
  ?>

xml parsinq aparılır, lakin sql sintaksisi işləmir.

elə burdaca daha bir sual soruşum: bu skriptdəki $date dəyişənini başqa bir skriptdən çağırmaq istəyirəm – konkret olaraq bundan –

<?php

  date_default_timezone_set('UTC');
  $start_date = "25.11.1993";
  $end_date = date("d.m.Y");
  $next_date = $start_date;

  while(strtotime($next_date) <= strtotime($end_date))
  {
    // echo "$next_date<br>";
	
  $next_date = date ("d.m.Y", strtotime("+1 day", strtotime($next_date)));
  }
?>

bunun üçün require yoxsa include istifadə etmək daha məsləhətlidir?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (16:35, 17/05/2013 ) #29992

    2. Bu durumda fərq etmir. Ümumən isə require və include arasında kiçik fərq var. (error handling)
    1. Skriptdə echo $sql verin, nəticəni kopyalayıb phpmyadmin-də icra edin, səhvi dəqiq olaraq görmüş olun və ya buraya yazın səhvi.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(17:45, 17/05/2013 ) #29996

dəyişənləri dırnaqla daxil etdim düzəldi:

VALUES(NULL, '$nom', '$ad', '$val', CURDATE())";

səhv də elə buna görə imiş.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (18:06, 17/05/2013 ) #29998

    Düzü dəyişənlərdən birinin string olmasına indi fikir verdim:) String insert edərkən dırnaq vacibdir. Amma integer dirsə fərq etmir.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(17:54, 17/05/2013 ) #29997

1. Sorğuda yanlışlıq yoxdur hazırda. Burda hansısa dəyişənin ($nom, $ad və ya $val) düzgün dəyər almaması səbəb ola bilər. Əvvəlcə bunu araşdırı. Sonra isə əgər sorğu bir və daha çoxdursa nəticəni daha düzgün yoxlamaq üçün dövrün içinə increment əlavə etmək olar. Məsələn,

$i = 0;
foreach( $foo as $bar ) 
{ 
  //blablabla
$res = mysql_query($sql);
if ($res) ++$i;
}

  if ($i == 0):
  echo "exoo";
  else:
	  echo $i  . ' dəfə sorğu daxil olundu';
  endif;

2. Require – qoşulmuş faylları skript işə düşərkən lap əvvəldə hazırlamağa başlayır, həmin çağrılmış skriptlərin hər hansı birində xəta varsa, hazırki skript fatal error verəcək və yarımçıq dayanacaq. Amma include warning verəcək, skript işinə davam edəcək. Məsələn, hər hansı bir şərt (məsələn if($foo) include ‘something.php’; ) daxilində kənar skript çağrılırsa include məsləhətdir. Sürət baxımından isə require azca üstündür.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Triste cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (6 gün əvvəl)

Software Developer cavab verdi - Adsense ya görə VÖEN gəlir vergisi 20% istəyirlər (6 gün əvvəl)

Triste cavab verdi - Google Adsense vergi (6 gün əvvəl)

E. Hacı cavab verdi - Xif mn kodu (14 gün əvvəl)

Khagrov cavab verdi - Axtardığım mahnını tapa bilmirəm kömək edin (32 gün əvvəl)

E. Hacı cavab verdi - Dünəndən Kompüterlə Twitter/X və Pinterest -ə girə bilmirəm. (40 gün əvvəl)

orkhanrza cavab verdi - AZ9095də bağlama qalıb (45 gün əvvəl)

Ismayil1997 cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (53 gün əvvəl)

revan orucov cavab verdi - Bakıda evə 100mbps+ internet verən provayder var? (57 gün əvvəl)

E. Hacı cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (59 gün əvvəl)

Jurnalist cavab verdi - WordPress sistemli saytda Facebook və İnstagram platformalarına özəl target_blank tənzimlənməsi haqqında... (59 gün əvvəl)

asssa1 cavab verdi - Riyazi proqramlar üçün proqram (61 gün əvvəl)

Aleks cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (67 gün əvvəl)

E. Hacı cavab verdi - İndiki dövrdə İngilis dili müəllimliyi ixtisasını seçməyə dəyər? (68 gün əvvəl)

Software Developer cavab verdi - Patreon , Ko-fi , Buy Me A Coffee , Kickstarter kimi saytlardan gələn pula görə vergi tutulur? (68 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23288 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024