Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]dziwne zachowanie bazy danych
maraska
post
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Mam takie proste dwa zapytania jak poniżej (wyciągnięcie danych z jednej tabeli i zapis do drugiej).

  1. $sql = mysql_query("SELECT * FROM wizytowka WHERE wizytowkaID = '$control'");
  2. while($c = mysql_fetch_array($sql)) {
  3.  
  4. $wizytowkaID = $c['wizytowkaID'];
  5. $nazwa_firmy = $c['nazwa_firmy'];
  6. $nr_domu = $c['nr_domu'];
  7. $ulica = $c['ulica'];
  8. $nr_lokalu = $c['nr_lokalu'];
  9. $kod_pocztowy = $c['kod_pocztowy'];
  10. $NIP = $c['NIP'];
  11. $miejscowosc = $c['miejscowosc'];
  12.  
  13. $sgl1 = mysql_query("INSERT INTO inne_dane SET data=NOW(), kb='$kb', kn='$kn', wizytowkaID='$wizytowkaID', nazwa_firmy='$nazwa_firmy', nr_domu='$nr_domu', ulica='$ulica', nr_lokalu='$nr_lokalu', kod_pocztowy='$kod_pocztowy', NIP='$NIP', miejscowosc='$miejscowosc', zaco='Text'");
  14.  


I teraz, jeżeli w drugim zapytaniu zamienię $wizytowkaID na twardo na dowolny ciąg znaków/liczbę, to zapisuje się wszystko pięknie.

Jeżeli jednak ta liczba wpisana na twardo = liczbie którą przekazuje zmienna $wizytowkaID z pierwszego zapytania, to zapisuje się tylko $wizytowkaID i te pola, których wartości (zmienne) są generowane poza pierwszym zapytaniem.

Jeżeli w tym zapytaniu jest wizytowkaID=$wizytowkaID to jak powyżej, czyli tylko $wizytowkaID i te pola, których wartości (zmienne) są generowane poza pierwszym zapytaniem.



Wszystkie wartości zmiennych wywołane echo po pierwszym zapytaniu pokazują się prawidłowo.

Wie ktoś o co chodzi?

Ten post edytował maraska 30.04.2013, 11:46:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Raczej chodzi o to, żebyś wyeliminował ryzyko wystąpienia błędu, zwolnił pamięć i odciążył serwer BD.
Przykład użycia: http://stackoverflow.com/questions/5907206...-default-values
Poza tym nigdzie nie wiedzę obsługi błędów dla tych zapytań.
Go to the top of the page
+Quote Post
maraska
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


Cytat(viking @ 30.04.2013, 12:56:31 ) *
Raczej chodzi o to, żebyś wyeliminował ryzyko wystąpienia błędu, zwolnił pamięć i odciążył serwer BD.
Przykład użycia: http://stackoverflow.com/questions/5907206...-default-values
Poza tym nigdzie nie wiedzę obsługi błędów dla tych zapytań.


echo mysql_errno() . ": " . mysql_error() . "\n";
if($sql1) echo "Dane zostały dodane poprawnie";
else echo "Błąd nie udało się dodać nowego rekordu";

Wynik:
0: Dane zostały dodane poprawnie

I nie dodało jak powinno (IMG:style_emoticons/default/sad.gif)

Cytat(in5ane @ 30.04.2013, 13:40:50 ) *
Spróbuj w ten sposób:
  1. INSERT INTO inne_dane (DATA, kb, kn, wizytowkaID, nazwa_firmy, nr_domu, ulica, nr_lokalu, kod_pocztowy, NIP, miejscowosc, zaco) SELECT now(), $kb, $kn, wizytowkaID, nazwa_firmy, nr_domu, ulica, nr_lokalu, kod_pocztowy, NIP, miejscowosc, 'Text' FROM courses WHERE wizytowka = '$control'

Jednakże, nie mam 100% pewności jak się zachowają zmienne i to now() przy tym SELECT'cie, ale spróbuj, może zadziała, a jak nie to ktoś mnie delikatnie poprawi.


FROM courses WHERE wizytowka = '$control' ?

Miałeś na myśli:
FROM wizytowka WHERE wizytowkaID = '$control' ?

Cytat(maraska @ 30.04.2013, 14:03:39 ) *
echo mysql_errno() . ": " . mysql_error() . "\n";
if($sql1) echo "Dane zostały dodane poprawnie";
else echo "Błąd nie udało się dodać nowego rekordu";

Wynik:
0: Dane zostały dodane poprawnie

I nie dodało jak powinno (IMG:style_emoticons/default/sad.gif)



FROM courses WHERE wizytowka = '$control' ?

Miałeś na myśli:
FROM wizytowka WHERE wizytowkaID = '$control' ?


Wynik:

1136: Column count doesn't match value count at row 1 Błąd nie udało się dodać nowego rekordu
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 19:50