Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
Witam ,
NA komputerze z os xp 1.5 GB RAm, wgrałem wampa aby dla celów testowych uruchamiać lokalnie serwis www . I to pojawiły sie problemy : 1. htaccess przystosowany do ssl - usunąłem te pliki i komunikt o błedach kompesji nieobsługiwanej przez przeglądarkę przestał się pojawiać 2. teraz jednak mam problem : Warning: mysql_query() expects parameter 2 to be resource, null given in.... i dalej podana jest treść zapytania które nie może zostać wykonane ( i tym samym dynamiczne skonfigurowanie strony nie udaje sie) 0 - select configuration_key as cfgKey, configuration_value as cfgValue from configuration Serwis oparty jest na silniku oscommerce , na serwerze produkcyjnym działa ok Jak można poradzic sobie z tym problemem ? Andrzej |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A jaki to ma związek z przeglądarka? No żaden. Przenosze.
Co do błędu nr dwa to masz błąd bazy. Postawiłeś w ogóle bazę? |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
Baza jest skoro cytuję komunikat , który dostaję od mysql
A poza tym masz rację co do zmiany miejsca w którym powinien znaleźć się post , jednak skoro masz taką moc sprawczą to może by wątek przenieść do "bazy danych - mysql" |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Baza jest skoro cytuję komunikat , który dostaję od mysql No właśnie nie.... jeśli nie masz bazy zainstalowanej, to właśnie pojawi się taki komunikat. Instalowałeś bazę tego sklepu czy nie? Instalowałeś w ogóle silnik mysql u siebie na kompie? Dwa proste pytania na które możliwa jest tylko jedna prosta odpowiedź: tak lub nie
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
TAK
|
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Na obydwa pytania odpowiedź TAK?
To znajdź teraz kod, w którym łączysz się z bazą: coś ala mysql_connect oraz mysql_selectdb(). I za tym kodem daj: die('BLAD:'.mysql_error()); |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
Bazę założyłem z backupu . Z tym też był niemały problem , bo najpierw chciałem zrobić restore z aktualnego backupu . W php ini zmieniałem ustawienia dot. wielkości obsługiwanego pliku :
post_max_size = 60M , max_input_time: -1 , max_execution_time = 0 nie mniej ciągle miałem komunikat , że limit czasu się skończył . W końcu rozpakowałem mały plik sql ze strukturą wyjściową . Z bazą się łączę , to działa . Problem jest właśnie j / w . |
|
|
|
Post
#8
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A skad wiesz że łączysz się z bazą? Bo widać ewidentnie że twoj skrypt, ma z tym problem. Zastosuj się więc proszę do mojej prośby i zrób ten prosty banalny test. Już pokazałeś, że słabo się orientujesz twierdząc, że ten komunikat
"Warning: mysql_query() expects parameter 2 to be resource, null given in...." jest komunikatem bazy, wiec proszę nie wyciągaj innych pochopnych wniosków.... Błąd jaki masz moze wynikać z dwóch rzeczy: 1) Problem połączenia z bazą - to pokaze test o który poraz kolejny proszę. 2) Problem z przekazywanie zmiennej z połączeniem Narazie skupmy się na pierwszym. Rozumiesz? edit: a zresztą można od razu zając sie drugim: w linii co leci komunikat jest taki kod: mysql_query('zapytanie', $zmienna); zamien go na : mysql_query('zapytanie'); bo z komunikatu wynika, że $zmienna jest null. Może chodziaż chwyci aktualne połączenie jeśli jest |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
Masz rację o tyle , że sama treść zapytania które nie wyszło , zwrócona przez serwer w komunikacie o
błędzie o niczym nie świadczy i to było z mojej strony głupie . Nie mniej opieram się na skrypcie , który na początku testuje czy jest połączenie z bazą więc tutaj nie ma wątpliwości . ALe jednak wykonałem test - zmieniłem w pliku configure.php hasło do bazy danych i mam zaraz komunikat : Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'andrzej'@'localhost' (using password: YES) in C:\wamp\www\projektcik1\includes\functions\database.php on line 17 wracam do hasła właściwego ustalonego poprzez phpadmina i komunikatu nie ma jest ten jak do tej pory Warning: mysql_query() expects parameter 2 to be resource, null given in C:\wamp\www\projekcik1\includes\functions\database.php on line 42 |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
No i super (IMG:style_emoticons/default/smile.gif)
Czyli teraz przechodzimy do punktu nr2: spójrz na mój edit z poprzedniego posta (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
ok , wykonam ten Twój test także , moment
sprawa się komplikuje , zapytanie obsługuje następująca funkcja :
|
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
nie: $result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());
a: $result = mysql_query($query) or tep_db_error($query, mysql_errno(), mysql_error()); Tak nie działa? Aż tyle połączeń robi twój serwis że musisz podawać konkretnie o które chodzi? edit: zas głównym problemem może byc to, że przy mysql_connect nie podajesz włąsciwej zmiennej. Pokaz jeszcze kod z mysql_connect() |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
ten fragment kodu wygląda tak :
i nie wykonuje się to po // set the application parameters |
|
|
|
Post
#14
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Po pierwsze: poprawiłeś kod jak prosiłem? Wywaliłes z mysql_query te $$link??
Po drugie: prosiłem o kod z mysql_connect, czyli zapewne o tresc funkcji tep_db_connect() a nie jej wywołanie. |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
dodam jeszcze :
- to wszysto działa bezbłędnie na serwerze produkcyjnym ( usunąłem tylko pliki .htaccess o czym pisałem na początku ) - kiedyś tą stronke uruchamiałem lokalnie na laptopie ( lepsze parametry sprzętu ) z vistą i działało wsio więc teraz nie rozumiem czy system operacyjny ma znaczenie tutaj ? wedle życzenia :
|
|
|
|
Post
#16
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Zrob zmiane co ci pisalem:
nie: $result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error()); a: $result = mysql_query($query) or tep_db_error($query, mysql_errno(), mysql_error()); a ci zadziała. A jak nie chcesz tego zmieniać to niech ktoś inny się zastanawia czemu te globale nie działają. ewentulanie do funkcji dopisz global $$link function tep_db_connect($server = DB_SERVER, $username = DB_SERVER_USERNAME, $password = DB_SERVER_PASSWORD, $database = DB_DATABASE, $link = 'db_link') { global $$link; //a tu dalej jak było |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
w postaci
idzie cała lista błędów Warning: mysql_real_escape_string() expects parameter 2 to be resource, null given in C:\wamp\www\projekcik1includes\functions\database.php on line 137 idalej Deprecated: Function eregi() is deprecated in C:\wamp\www\projekcik1\includes\classes\language.php on line 87 Myślę że muszę to całe środowisko spowrtem zbudować na lapku . Troszke to już za dużo czasu mi zajmuje a w gruncie rzeczy chodzi tylko o możliwośc sprawdzania jak działa np. slaider , jakiś banner przed wgraniem "na dobre" , bez ingerowania w wygląd strony w wersji produkcyjnej |
|
|
|
Post
#18
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
widzisz, po wywaleniu tego co ci kazałem, zaczęło ci działać. Niestety w innych cześciach systemu masz ten sam myk, np przy funkcji mysql_real_escape_string() . Jakbyś tam też wywalił te $$link to i tu błędy by zniknęły.
zas eregi nie ma związku z bazą. php informuje cie, że jest to przestarzała funkcja. |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 4.03.2013 Ostrzeżenie: (0%)
|
ale tak troche podsumowując . skąd te różnice w działaniu strony w środowisku tetowym i produkcyjnym , konkretnie
na serwerze "w świecie" to działa bez zarzutu więc zaskoczyło mnie że to co miało zająć niwiele czasu absorbuje mnie już od kilko dni |
|
|
|
Post
#20
|
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
A dopisałeś te global jak cię prosiłem? Z jakiegos powodu zmienna $$link nie jest widoczna poza funkcją. Jednym z powodów teoretycznie jest brak globala
|
|
|
|
![]() ![]() |
|
Aktualny czas: 15.09.2025 - 23:24 |