Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd przy usuwaniu
nevar
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 26.03.2006

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


Mam taki skrypt:
  1. <?php
  2. include ("baza.php");
  3. $baza = mysql_connect ($mysql_host, $mysql_user, $mysql_haslo);
  4. mysql_select_db($mysql_baza);
  5. $wynik = mysql_query("select * from quiz");
  6.  
  7.  
  8. if (mysql_num_rows ($wynik)>0)
  9. {
  10. $i=1;
  11. while($pytanie = mysql_fetch_array($wynik))
  12. {
  13. print '<font face="Arial" size="3">'.$i.'.</font>';
  14. print '<font face="Arial" size="3">'.$pytanie['pyt'].'</font><br>';
  15. print '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="a" />'.$pytanie['odpa'].'<br></font>';
  16. print '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="b" />'.$pytanie['odpb'].'<br></font>';
  17. print '<font face="Arial" size="2"><input type="radio" name=p'.$pytanie['id'].' value="c" />'.$pytanie['odpc'].'<br></font>';
  18. print '<font face="Arial" size="3" color="green">Poprawna odpowiedź to:'.$pytanie['odppraw'].'</font><br>';
  19.  print '<input type="button" value="Edytuj" onClick="window.open('edytuj.php?id_pyt='.$pytanie['id'].'''nazwa').focus(); return false" />';
  20. print '<input type="button" value="Usuń" onClick="if(window.confirm('Czy na pewno usunąć ?')){window.location='usun.php?id_pyt='.$pytanie['id'].'';}">';
  21. print '<br><hr>';
  22. $i++;
  23. }
  24. }
  25.  
  26. ?>


po kliknięciu Usuń powinien się wykonać skrypt:

usun.php
  1. <?
  2. if(!$_GET['step']) {
  3.  
  4. echo ("<form action='usun.php?step=del' method='POST'>
  5. <p>Usunac?</p>
  6. <input type='hidden' value=".$_POST['id_pyt']." name='id'>
  7. <input type='submit' value='TAK'>
  8. <input type='button' value='NIE' onclick=\"parent.location.href='admin.php'\">
  9. </form>
  10. ");
  11.  
  12. } else {
  13.  
  14.  
  15. include ("baza.php");
  16. $baza = mysql_connect ($mysql_host, $mysql_user, $mysql_haslo);
  17. mysql_select_db($mysql_baza);
  18.  
  19. $usun = mysql_query("delete from quiz where id=".$_POST['id_pyt']); 
  20.  
  21. if ($usun) {
  22. echo '<p>Pytanie usunięto</p>';
  23. } else {
  24. echo mysql_error(); echo '<p>Błąd! Spróbuj ponownie</p>';
  25.  
  26. }
  27.  
  28. }
  29. ?>


ale mam 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 '' at line 1

Błąd! Spróbuj ponownie

Co tu może być źle? sad.gif
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Zrób zamiast:

  1. <?php
  2. $baza = mysql_connect ($mysql_host, $mysql_user, $mysql_haslo);
  3. mysql_select_db($mysql_baza);
  4.  
  5. $usun = mysql_query("delete from quiz where id=".$_POST['id_pyt']); 
  6. ?>


daj tak:
  1. <?php
  2. $baza = mysql_connect ($mysql_host, $mysql_user, $mysql_haslo) or die ("Brak połączenia");
  3. mysql_select_db($mysql_baza);
  4.  
  5. $query = "delete from quiz where id=".$_POST['id_pyt'];
  6. $usun = mysql_query($query); 
  7. echo '<br/>'.$query;
  8. ?>


Już Ci chyba raz dawałem linka do tego


--------------------
Go to the top of the page
+Quote Post
nevar
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 26.03.2006

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


Tak zrobiłem ale dalej mi wyrzuca to samo:

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 '' at line 1
delete from quiz where id=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 '' at line 1

Błšd! Spróbuj ponownie
Go to the top of the page
+Quote Post
TomASS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


You have an error in your ... to jest wynkiem echo mysql_error();
A co jest wynikiem echo '<br/>'.$query; ?

Bo to co podałeś to nie wszystko smile.gif


--------------------
Go to the top of the page
+Quote Post
nevar
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 26.03.2006

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


Podałem wszystko co mi wyrzuciło na ekran
Tam dwa razy się powtarza echo mysql_error();

wygląda na to, że echo '<br/>'.$query; wyrzuca: delete from quiz where id=
Go to the top of the page
+Quote Post
siemakuba
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


czy id masz typu INT?

sprawdz tak:

  1. <?php
  2.  
  3. $sql = 'DELETE FROM quiz WHERE id="'.(int)$_POST['id_pyt'].'"';
  4.  
  5. ?>


edit:
skoro wyrzuca ci delete (...) where id= to znaczy ze nie masz wartosci id...

a dlaczego nie masz wartości id?

  1. <input type='hidden' value=".$_POST['id_pyt']." name='id'>


name="id"

  1. <?php
  2.  
  3. mysql_query("delete from quiz where id=".$_POST['id_pyt'])
  4.  
  5. ?>


$_POST['id_pyt']

Ten post edytował siemakuba 18.04.2006, 10:06:26
Go to the top of the page
+Quote Post
kszychu
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


@Qvazar: a Ty próbowałeś? Wnioskuję, że nie, bo gdybyś spróbował, to byś takich głupot nie pisał.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Qvazar
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 3
Dołączył: 28.10.2005

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


  1. <?php
  2.  
  3. mysql_query("delete from quiz where id='".$_REQUEST['id_pyt']."'");
  4.  
  5. ?>


Ten post edytował Qvazar 18.04.2006, 15:48:37
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




oj juz przestan tu rzucac kolejne genialne wersje jak zapodac id do zapytania. czytac posty dokladnie. siemakuba napisal co jest tego przyczyną. teraz nalezy tylko poczekac az nevar to poprawi i zaleje nas kolejną serią errorów winksmiley.jpg


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Aktualny czas: 20.08.2025 - 07:56