Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd przy usuwaniu
Forum PHP.pl > Forum > PHP
nevar
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
TomASS
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
nevar
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
TomASS
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
nevar
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=
siemakuba
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']
kszychu
@Qvazar: a Ty próbowałeś? Wnioskuję, że nie, bo gdybyś spróbował, to byś takich głupot nie pisał.
Qvazar
  1. <?php
  2.  
  3. mysql_query("delete from quiz where id='".$_REQUEST['id_pyt']."'");
  4.  
  5. ?>
nospor
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
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.