Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z Updatem pola w Mysql, Php + Mysql i string do pola typu TEXT
lopes1980
post 30.01.2008, 21:38:08
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.01.2008

Ostrzeżenie: (0%)
-----


Witam ponownie.

Mam pewien problem i nie wiem gdzie tkwi przyczyna.

Otóż kod wygląda tak :
  1. <?php
  2. if (file_exists($folder.$plik)) {
  3.  
  4.  $zrodlo = file_get_contents($folder.$plik,FALSE,NULL,0,filesize($folder.$plik));
  5.  $start = stripos($zrodlo, "nbsp;</td></tr>");
  6.  $start = $start + 15;
  7.  $end = stripos($zrodlo, "</table>");
  8.  $dlugosc = $end - $start;
  9.  
  10.  $zdanie = substr($zrodlo, $start, $dlugosc);
  11.  
  12.  $tresc = str_replace(" style='background-color: #EFFFF7;'", " style='background-color: #F4F4F4;'", $zdanie); 
  13.  $tresc = str_replace(" style='background-color: #FFFFFF;'", "", $tresc);
  14.  $tresc = str_replace(' class="bok"', '', $tresc);
  15.  $tresc = str_replace(' class="prawo"', '', $tresc);
  16.  $tresc = str_replace("True", "Tak", $tresc);
  17.  $tresc = str_replace("False", "Nie", $tresc);
  18.  
  19.  $tresc = "a <table> ".$tresc." </table> a";
  20.  
  21.  $qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";
  22.  $queryopis1 = mysql_query($qopis1);
  23.  
  24.  echo "Dodano opis produtku : ".$code."<br>";
  25.  echo $tresc."<br>";
  26. }
  27. ?>


W pole do którego mają trafi dane ma typ TEXT czyli powinno zaakceptowac string ktory jest wygenerowany.
String nie jest pusty bo przez echo wyswietla mi sie na ekranie wsszystko ladnie.
Natomiast cos powoduje, ze ów string $tresc za cholere nie chce się dodac do pola w tabeli.

Co radzicie ?

Pozdrawiam.
Powód edycji: poprawiłem bbcode (cysiaczek)
Go to the top of the page
+Quote Post
b_chmura
post 30.01.2008, 21:41:14
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

Ostrzeżenie: (0%)
-----


wsadź po zapytaniu
  1. <?php
  2. ?>
Go to the top of the page
+Quote Post
zzeus
post 30.01.2008, 21:46:06
Post #3





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

Ostrzeżenie: (0%)
-----


$qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";

zamien na

$qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."'";


--------------------
Go to the top of the page
+Quote Post
nevt
post 30.01.2008, 23:18:01
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


w tym fragmencie...
  1. <?php
  2. $qopis1 = "UPDATE inter_sklep_product SET product_description = '".$tresc."' WHERE product_code = '".$sku."';";
  3. $queryopis1 = mysql_query($qopis1);
  4.  
  5. echo "Dodano opis produtku : ".$code."<br>";
  6. ?>

w sql odwołujesz się do product_code przez $sku, a w echo przez $code...
nigdzie też nie widzę ustawienia ani jednej, ani drugiej zmiennej...
podejrzewam, że warunek WHERE jest do niczego i dla tego nic się nie udate'uje...
poza ty skoro już używasz podwójnych ciapek to lepiej pisz tak:
  1. <?php
  2. $qopis1 = "UPDATE inter_sklep_product SET product_description = '$tresc' WHERE product_code = '$sku';";
  3. ?>


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
lopes1980
post 31.01.2008, 07:39:59
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 21.01.2008

Ostrzeżenie: (0%)
-----


Już wiem dlaczego update nie działał :

Kod
echo mysql_error();

wywalił mi taki błąd :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'background-color: #F4F4F4;'> Opłata transportowa za LARGE <' at line 1

W zapytaniu były ' ' i dlatego mysql nie chciał przyjąć tego.

Podaje jeszcze raz ten kod (już właściwy i działający ) :
Kod
$folder = "/home/public_html/sklep/products/";

if($query1){

while ($wiersz = mysql_fetch_row($query1)) {

   $sku = $wiersz[0];
   $plik = $sku.".html";
  
  if (file_exists($folder.$plik)) {
  
   $zrodlo = file_get_contents($folder.$plik,FALSE,NULL,0,filesize($folder.$plik));
   //$start = stripos($zrodlo, "</a></td></tr>");
   $start = stripos($zrodlo, "nbsp;</td></tr>");
   $start = $start + 15;
   $end = stripos($zrodlo, "</table>");
   $dlugosc = $end - $start;

   $zdanie = substr($zrodlo, $start, $dlugosc);
  
   // tak mi zadziałało , trochę inny sposób określenia tła komórki ale efekt ten sam :-)
   $tresc = str_replace(" style='background-color: #EFFFF7;'", " bgcolor=\"#F4F4F4\"", $zdanie);
   // ----------------------------------------------------------------------------------------
   $tresc = str_replace(" style='background-color: #FFFFFF;'", "", $tresc);
   $tresc = str_replace(' class="bok"', '', $tresc);
   $tresc = str_replace(' class="prawo"', '', $tresc);
   $tresc = str_replace("True", "Tak", $tresc);
   $tresc = str_replace("False", "Nie", $tresc);
  
   $tresc = "<table> ".$tresc." </table>";
  
   $qopis1 = "UPDATE inter_sklep_vm_product SET product_desc = '$tresc' WHERE product_sku = '$sku';";
   $queryopis1 = mysql_query($qopis1);
  
   echo mysql_error();
  
   echo "Dodano opis produtku : ".$sku."<br>";

  }
  else{
  echo "<BR> BRAK PLIKU <BR><BR>";
  $qopis0 = "UPDATE inter_sklep_vm_product SET product_desc = 'brak opisu' WHERE product_sku = '$sku';";
  $queryopis0 = mysql_query($qopis0);
  }
}
}
else{
mysql_close($sql);
echo "<BR> KONIEC <BR>";
exit;
}

mysql_close($sql);





Temat raczej do zamknięcia.



PS Jak Wy dodajecie BBcode "Kod PHP" bo nigdzie tego nie widzę i nie wiem jak to ładnie wyświetlic ?

Pozdrawiam.

Ten post edytował lopes1980 31.01.2008, 08:09:27
Go to the top of the page
+Quote Post
nevt
post 31.01.2008, 08:21:51
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


w edytorze forum masz guziczek PHP (lewy-górny róg okienka - tuż pod guziczkiem BOLD)... poza tym możesz też wysilić swoje łapki na piechotę wpisać...
Kod
[php]
//przykład
[/php]

co da...
  1. <?php
  2. //przykład
  3. ?>


Ten post edytował nevt 31.01.2008, 08:22:42


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:55