Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wykonaniem zapytania
Forum PHP.pl > Forum > Przedszkole
zuku
Witam.

Mój problem dotyczy komunikacji php z bazą danych MySQL.

php 4.3.7
MySQL 4.0.18

Proste pytanie.
Czy to co jest pod spodem, zapisane jest poprawnie?

  1. <?php
  2.  
  3. for ($a=1;$a<=40;$a++) {
  4.  
  5. if ($_POST['szostka_'.$a]!='') {
  6. $WYK[1]=mysql_db_query($cfg['baza'],&#092;"UPDATE `sklady` SET `szostka` = '1' WHERE `sid` = '\".$_POST['szostka_'.$a].\"' LIMIT 1;\");
  7. $W[1]=MySQL_fetch_array($WYK[1]);
  8. echo 'OK<br>';
  9. }
  10. }
  11.  
  12. ?>


Otóż problem jest taki że nie zapisuje to co mu każe. I nawet jak dodam to echo 'OK' zeby sprawdzić czy skrypt się tutaj dostaje, to się dostaje ale nie wykonuje sql (a może wykonuje ale nie ma efektu). smile.gif

Pozdrawiam
zuku
mysql_errno zwaraca mi 0 natomiast mysql_error nie zwraca nic smile.gif
yavaho
Za malo podales argumentow w mysql_db_query" title="Zobacz w manualu PHP" target="_manual
mysql_db_query ( string baza, string zapytanie [, resource identyfikator_połączenia])

Ja robie tak:
  1. <?php
  2. $link= //tu jest polaczenie z baza danych
  3. $query = &#092;"UPDATE sklady SET szostka='1' WHERE sid=\".$_POST['szostka_'.$a];
  4. $result = @mysql_query($query, $link);
  5. if(!$result)
  6. print ('Blad zapisu do bazy danych');
  7. else
  8. print ('OK');
  9. ?>
zuku
Niestety dalej dzieje się to samo. errno = 0 i erroru też nie wywala.

Jaka może być przyczyna tego "zjawiska"?
kszychu
Linia 8: nazwy funkcji piszemy małymi literami, może to to?
Guest
Wielkość liter nieststy też nie bo to już dawno próbowałem.

Dla ciekawości przsyłam skrypt który nie działa do końca. Otóż wszytsko działa poza case 'relacja'

Oto skrypt:
  1. <?php
  2.  
  3. require_once('../../CONFIGphp');
  4. $LINK=MySQL_Connect($cfg['host'],$cfg['login'],$cfg['pass']) or print('<font color=red>Nie można poł&plusmn;czyć się z baz&plusmn;!</font><br>Powód: '.MySQL_Error());
  5.  
  6. echo '<div style=\"padding-bottom:10px\" align=center>'
  7. .'<table cellspacing=0 cellpadding=0 border=0 class=a12 width=100%>'
  8. .'<tr><td height=5></td></tr>'
  9. .'<tr><td align=center>';
  10.  
  11. switch ($_GET['H']) {
  12.  
  13. case 'wczesniejsze':
  14. /* 
  15. inne case które nie będę opisywał, ale które się wykonują i też są połączenia z 
  16. azą, gdzie używam tylko SELECT-a i ostatni case ma w sobie formularz z polami POST['szostaka_1'...'szostka_40']':
  17. */
  18. break;
  19.  
  20. case 'relacja':
  21.  
  22. for ($a=1;$a<=40;$a++) {
  23.  
  24. if ($_POST['szostka_'.$a]!='') {
  25.  
  26. $post=$_POST['szostka_'.$a];
  27. $result = mysql_db_query($cfg['baza'],&#092;"UPDATE `sklady` SET `szostka` = '1' WHERE `sid` = '$post' LIMIT 1;\");
  28. if (!$result) echo mysql_errno().' '.mysql_error().'<br>';
  29. else {
  30. echo 'mysql_errno('.mysql_errno().') mysql_error('.mysql_error().')<br>';
  31. $WYKo=mysql_db_query($cfg['baza'],&#092;"SELECT * FROM `sklady` WHERE `sid` = '$post';\");
  32. $Wy=MySQL_fetch_array($WYKo);
  33. if ($Wy['szostka']==0) echo $Wy['nk'].'. '.$Wy['nazwisko'].' '.$Wy['imie'].' czy ma jedynke? Bo powinna mieć. A jest : <b>'.$Wy['szostka'].'</b> ! DLACZEGO??<br><br>';
  34. }
  35. }
  36.  
  37. } // for
  38.  
  39. break;
  40.  
  41. } // switch $H[2]
  42.  
  43. echo '</td>'
  44. .'</tr>'
  45. .'</table>'
  46. .'</div>';
  47.  
  48. ?>


Czy w/w problem może być związany z błędną konfiguracją serwera? Bo problem wygląda tak że zapytania do bazy w case relacja, poprostu się nie wykonują, a najgorsze że nie wywala błędu. sad.gif
zuku
Ten post wyżej napisałem JA smile.gif

errata do 4 linijki:
  1. <?php
  2. require_once('../../CONFIG.php');
  3. ?>
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.