Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Something is wrong in my syntax ^^
Forum PHP.pl > Forum > Bazy danych > MySQL
Haptor
No wiec mam funkcje sobie no i ona jest odpowiedzialna za edytowanie wierszy z bazy danych... wypelniamy formularz i wciskamy okej i nam robi udpate.... no ale kiedy robie okej to wyskakuje (przez mysql_error() ):

Kod
Something is wrong in your syntax obok 'long='' WHERE topic=''' w linii 1


a o to kod funkcji

  1. <?php
  2.  
  3.  
  4. function editi ($tytul){ //$tytul jest to zmienna z get ($_GET['editi'])
  5.  
  6. if(isset($_POST['tytul2'])) {
  7.  
  8. $tytul = $_POST['tytul'];
  9. $wyn= mysql_query("SELECT * FROM tresc WHERE topic='$topic'");
  10. $num = mysql_num_rows($wyn);
  11.  
  12. if($num == 0){ 
  13.  
  14.  $tytul1 = $_POST['tytul'];
  15.  $wstep1 = $_POST['wstep'];
  16.  $long1 = $_POST['tresc'];
  17.  $tytul = $_GET['editi'];
  18.  
  19.  mysql_query("UPDATE tresc SET topic='$tytul1', short='$wstep', 
  20.  long='$long' WHERE topic='$tytul2'") or die(mysql_error());
  21.  } else {
  22.  
  23.  }
  24.  
  25.  }  else {
  26. $wyn = mysql_query("SELECT * FROM tresc WHERE topic='$tytul'");
  27. if (mysql_fetch_assoc($wyn) > 0){
  28. $wyn = mysql_query("SELECT * FROM tresc WHERE topic='$tytul'");
  29. $row = mysql_fetch_assoc($wyn);
  30. $short2 = $row['short'];
  31. $long2 = $row['long'];
  32.  $tytul = $_GET['editi'];
  33.  echo "<form action='index.php?editi=$tytul' method='post'>";
  34. echo "<br><font color='white'>Tytul:</font><br>";
  35. echo "<input type='text' maxlength='25' value='$tytul' name='tytul2'>";
  36. echo "<br><font color='white'>Wstep:</font><br>";
  37.  echo "<textarea rows=10 cols=60 name='wstep'>$short2</textarea><br><br>";
  38. echo "<br><font color='white'>Tresc:</font><br>";
  39.  echo "<textarea rows=30 cols=60 name='tresc'>$long2</textarea><br><br>";
  40.  echo "<input type='submit' value='OK'>";
  41.  echo "</form>";  
  42.  
  43. } else {
  44. print "<br><font class='error'>Nie moge znalezc wpisu</font>";
  45. }
  46. } }
  47.  
  48.  
  49. ?>


Z góry dziekuje i przepraszam, jezeli istnieje taki post, a nie doszukalem sie go
Synaps
  1. <?php
  2.  
  3. mysql_query("UPDATE tresc SET topic='$tytul1', short='$wstep', 
  4.  long='$long1' WHERE topic='".$_POST['tytul2']."'") or die(mysql_error());
  5. ?>
Haptor
nic:/ dalej

Kod
Something is wrong in your syntax obok 'long='art1' WHERE topic='art1'' w linii 1


ale dzieki za zaangazowanie
mike
A zrób tak:
  1. <?php
  2. echo $strSQL = "UPDATE tresc SET topic='$tytul1', short='$wstep', 
  3.  long='$long1' WHERE topic='".$_POST['tytul2']."'";
  4. mysql_query($strSQL) or die(mysql_error());
  5.  
  6. ?>

i zobacz co się wyświetla.
Może przesyłasz złe dane od zapytania.
Synaps
Nie dam sobie głowy uciąć ale wydaje mi się że 'long' jest nazwa zarezerwowana dla MySql'a. Sprobuj zmienic nazwe tej kolumny. Ale jestem niewyspany... sad.gif
elessar
To powinno pomoc:
  1. <?php
  2. echo $strSQL = "UPDATE tresc SET `topic`='$tytul1', `short`='$wstep', 
  3.  `long`='$long1' WHERE `topic`='".$_POST['tytul2']."'";
  4. mysql_query($strSQL) or die(mysql_error());
  5. ?>
Haptor
Dziekuje osoba zainteresowanym i zaangazowanym jednak byl jeszcze jeden blad w zmiennych post a w tych kodach co zamieeszczaliscie byly bledy ze topic mialbyc rowny $_GET['editi']

Ku woli wyjasnienia o to kod:

  1. <?php
  2.  
  3. function editi ($tytul){
  4.  
  5. if(isset($_POST['tytul2'])) {
  6.  
  7. $tytul = $_POST['tytul2'];
  8. $wyn= mysql_query("SELECT * FROM tresc WHERE topic='$tytul'");
  9. $num = mysql_num_rows($wyn);
  10.  
  11. if($num == 0){ 
  12.  
  13. $tytul1 = $_POST['tytul2'];
  14. $wstep1 = $_POST['wstep'];
  15. $long1 = $_POST['tresc'];
  16. $tytul = $_GET['editi'];
  17.  
  18. $strSQL = "UPDATE tresc SET `topic`='$tytul1', `short`='$wstep', `long`='$long1' WHERE `topic`='".$_GET['editi']."'";
  19. mysql_query($strSQL) or die(mysql_error());
  20. echo "Artykul poprawnie zmieniony";
  21. } else {
  22.  
  23.  echo "nie!";
  24.  }
  25.  
  26.  }  else {
  27. $wyn = mysql_query("SELECT * FROM tresc WHERE topic='$tytul'");
  28. if (mysql_fetch_assoc($wyn) > 0){
  29. $wyn = mysql_query("SELECT * FROM tresc WHERE topic='$tytul'");
  30. $row = mysql_fetch_assoc($wyn);
  31. $short2 = $row['short'];
  32. $long2 = $row['long'];
  33.  $tytul = $_GET['editi'];
  34.  echo "<form action='index.php?editi=$tytul' method='post'>";
  35. echo "<br><font color='white'>Tytul:</font><br>";
  36. echo "<input type='text' maxlength='25' value='$tytul' name='tytul2'>";
  37. echo "<br><font color='white'>Wstep:</font><br>";
  38.  echo "<textarea rows=10 cols=60 name='wstep'>$short2</textarea><br><br>";
  39. echo "<br><font color='white'>Tresc:</font><br>";
  40.  echo "<textarea rows=30 cols=60 name='tresc'>$long2</textarea><br><br>";
  41.  echo "<input type='submit' value='OK'>";
  42.  echo "</form>";  
  43.  
  44. } else {
  45. print "<br><font class='error'>Nie moge znalezc wpisu</font>";
  46. }
  47. } }
  48.  
  49. ?>


Jeszcze raz dziekuje bardzo!
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.