Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problemik z zapytaniem
Forum PHP.pl > Forum > PHP
raf2001
witam w moim skrypcie wywala taki błąd (wynik działania klasy):
1064 : Something is wrong in your syntax obok '(xml_date = 1115675545 ' w linii 1

żaś skrypt:
  1. <?php
  2.  class Core extends Parser{
  3.  var $row;
  4.  
  5.  //funckja pobierająca dane z bazy danych
  6. function GetData () {
  7.  $GLOBALS['sql']->query('SELECT * FROM ' . cms_config);
  8.  $this->row = $GLOBALS['sql']->fetch_array();
  9. }
  10.  
  11. //funkcja sprawdzająca czy plik z konfigiem został zmieniony
  12. function CheckConfig ($plik) {
  13.  $this->plik = $plik;
  14.  if (file_exists($this->plik)) {
  15. if (filemtime ($this->plik) != $this->row['xml_date']) {
  16.  $this->InsertData();
  17. }
  18.  } else {
  19. echo no_file_config;
  20.  }
  21. }
  22. //funkcja umieszczająca dane w bazie danych
  23. function InsertData () {
  24.  $dp = filemtime($this->plik);
  25.  $site_name = $this->xml->site->site_name;
  26.  $site_keywords = $this->xml->site->site_keywords;
  27.  $site_description = $this->xml->site->site_description;
  28.  $log_config = $this->xml->log_config;
  29.  $news_pp = $this->xml->news->news_pp;
  30.  $news_koments = $this->xml->news->news_koments;
  31.  
  32.  $GLOBALS['sql']->query(&#092;"UPDATE \" .cms_config. \" SET (xml_date = $dp
  33.  site_name = $site_name,
  34.  site_keywords = $site_keywords,
  35.  site_description = $site_description,
  36.  log_config = $log_config,
  37.  news_pp = $news_pp,
  38.  news_koments = $news_koments)&#092;");
  39.  echo data_updated;
  40. }
  41.  }
  42. ?>

błąd wypada akyrat w tym zapytaniu, co tu jest źle
nospor
brakuje przecinka po xml_date = $dp. a czycos jeszcze, to juz poxniej
mike
  1. <?php
  2. $GLOBALS['sql']->query(&#092;"UPDATE \" .cms_config. \" SET (xml_date = $dp,
  3.  site_name = '$site_name',
  4.  site_keywords = '$site_keywords',
  5.  site_description = '$site_description',
  6.  log_config = '$log_config',
  7.  news_pp = '$news_pp',
  8.  news_koments = '$news_koments')&#092;");
  9. ?>

Wnioskuję że, że masz tam pola tekstowe w bazie, więc wartości powinny być w apostrofach.
raf2001
oki to już umieszcza w bazie lecz pojawia sie taki oto błąd:
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\r\cms\modules\db_class.php on line 53
a kodzik:
  1. <?php
  2.  // Metoda wykonująca zapytanie
  3.  function query($query) {
  4. if($query != &#092;"\" && $this->database) {
  5.  $this->query = $query;
  6.  if($this->result) mysql_free_result($this->result);
  7.  if($this->result = mysql_query($this->query, $this->connection)) {
  8. $this->lastId = mysql_insert_id();
  9. $this->queries++;
  10. return $this->result;
  11.  } else {
  12. $this->error();
  13.  }
  14. } else $this->error();
  15.  }
  16. ?>

oczywiście to kawałek klasy ale niewiem co jest źle
nospor
dobrym zwyczajem jest dokladne okreslenie linii 53, aby osoba, która próbuje pomóc nie musiała biegać po skrypcie i się domyslać o którą linię chodzi
raf2001
linia 53 jak wskazje błąd jest to ta:
if($this->result) mysql_free_result($this->result);
jak coś to moge cały dać sterownik bazy
nospor
taki blad ci wywala bo do mysql_free_result(); wkladasz $this->result który nie jest resource tylko czyms innym np null lub false.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.