Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z baza, Mam problem z bazą danych - odczyt i zapis
smarcz
post
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


Otóż - poprawiałem dla mojego znajomego stronę internetową. I na moim serwerze testowym MYSQL 4.0 - wszystko jest ok - stronka śmiga jak należy. Problem pojawia się - gdy kopiuje kod na serwer znajomego - Wersja klienta MySQL: 3.23.59-nightly-20050301.

W czym przyczyna - facet miał postawiona stronkę ale do bani - ja przepisalem caly kod na nowo z oddmienną strukturą MYSQLa - całkiem moją - nie mam pojęcia dlaczego stare tabela moge odczytać za pomocą PHP - a moje nowe - nie da się!

Połączenie z baza danych jest nawiązane prawidłowo. Może kilka przykładów:
otóż wykonuje pytanie do serwera -> SELECT * FROM `prefix_additional_fields` WHERE 1 - serwer zwraca wartosc NULL
a teraz wykonuje zapytanie -> SELECT * FROM `additional_fields` WHERE 1 - serwer zwraca wartosc FALSE -> przy czym to moja tabela przykładowa!

pojawiają się takie komunikaty:

######
Nawiazano polaczenia z baza!!
SELECT * FROM `prefix_additional_fields` WHERE 1 -> NULL
SELECT * FROM `additional_fields` WHERE 1 -> false
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /***/www/e/_/*******.pl/www/adm_n/test_polaczenia.php on line 68

######

Kurde czemu? Wszystkie tabele zbudowane przezemnie i cała struktura nie działa zupełnie. Tabele przeniosłem na zasadzie importowania wraz z zawartością. W PHPMYADMIN - wszystko działa - z klienta PHP - nie!!!



Załamie się! Zupełnie jestem zdezorientowany - serwer na ktorym to stoi to expro.pl - moj to nazwa.pl

Gdzie szukać przyczyny?questionmark.gif

Stronka co prawda działa - ale baze pobieram z mojego serwera - są duże utrudnienia w komunikacji - i działa straszenie powoli! sad.gif(

POMOCY!

Ten post edytował smarcz 5.08.2008, 12:47:42
Go to the top of the page
+Quote Post
webasek
post
Post #2





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


To jest wtedy gdy zapytanie sql jest puste. Sprawdź może masz gdzieś literówkę? W zapytaniu jak i dalej w odbieraniu zapytania? Albo stosujesz gdzieś duże litery?


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
smarcz
post
Post #3





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


jest to wykluczone bo zapytania sprawdzam w PHPMYADMINIE -> i jeżeli są proprawne wklejam do kodu PHP? Tak wiec literowki sa wykluczone sad.gif
Go to the top of the page
+Quote Post
Kicok
post
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


pozamieniaj wszystkie:
  1. <?php
  2.  


na:
  1. <?php
  2.  
  3. mysql_query( /*zapytanie*/ ) or die( mysql_error() );
  4.  
  5. ?>



Powinien się wyświetlić czytelniejszy błąd.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
smarcz
post
Post #5





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 12.05.2005

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


OK zastosowałem to co napisałeś - aby wyświetlić komunikat błędów - prosty test na zbudowanie tabeli za pomocą php w MySQlu:

kod:
  1. <?php
  2. mysql_connect("db.****.pl", "****_p_6112", "****")or die('Nie można się połączyć: ' . mysql_error());
  3.  
  4. if(mysql_select_db("elpronar_p_6112")){
  5.  
  6. echo("Nawiazano polaczenia z baza!!<br>");
  7.  
  8. mysql_query( "CREATE TABLE `test_tabeli` (
  9. `id` mediumint(9) NOT NULL auto_increment,
  10. `nazwa` varchar(255) NOT NULL,
  11. `login` varchar(255) NOT NULL,
  12. `haslo` varchar(255) NOT NULL,
  13. PRIMARY KEY (`id`),
  14. UNIQUE KEY `login` (`login`)
  15. ) TYPE=MyISAM;" ) or die('Nie można utwożyć tabeli: ' . mysql_error() );
  16.  
  17.  
  18. mysql_query( "SELECT * FROM `test_tabeli` WHERE 1" ) or die('Nie można odczytać tabeli: ' . mysql_error() );
  19. ?>


wywala komunikat: Nawiazano polaczenia z baza!! Nie można utwożyć tabeli: Table 'test_tabeli' already exists

tak więc rozumiem z tego komuniktatu ze tabela taka już istnieje = ok! Więc ide dalej
wykonuje inserty

  1. <?php
  2. mysql_query("INSERT INTO `elpronar_p_6112`.`admin` (
  3. `id` ,
  4. `nazwa` ,
  5. `login` ,
  6. `haslo`
  7. )
  8. VALUES (
  9. NULL , 'ddf', 'df', 'df'
  10. );")
  11. ?>


Wszystko by bylo ok! Dodalo sie - w panelu PHPMYADMINA - nic nie ma!!!!


~~~~

Rozwiązanie się pojawiło - okazało się, że administrator serwera robi kopie awaryjne baz - natopmiast PHPMYADMIN jest podpiety do serwera glownego ktory nie jest aktualizowany na biezaco! Co za glupota!

Ten post edytował smarcz 6.08.2008, 10:25:56
Go to the top of the page
+Quote Post
SirZooro
post
Post #6





Grupa: Zarejestrowani
Postów: 243
Pomógł: 32
Dołączył: 14.06.2007

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


Być może masz włączone automatycznie rozpoczynanie transakcji - w takim przypadku jeżeli nie zatwierdzisz transakcji to będzie ona wycofana przy rozłączaniu się z bazą. Spróbuj samemu rozpoczynać i kończyć transakcję w skrypcie.


--------------------
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: 21.08.2025 - 05:13