Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> JS blokuje MySQL
qbas-s
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


Witam mój problem polega na tym, że korzystając z ajaxa i wczytując poprzez niego plik .php który próbuje łączyć się z mysql wyskakują mi błędy:

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\usr\www\pr_inz\public\user_panel\choose_cat.php on line 7

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\usr\www\pr_inz\public\user_panel\choose_cat.php on line 7

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\usr\www\pr_inz\public\user_panel\choose_cat.php on line 8





Połączenie z bazą jest prawidłowe, bo bez pośrednictwa js jest ok.

Tak ładuje plik php:

function getData(dataSource, divID)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function ()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200)
{
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}


Co jest nie tak?

Dodatkowo jak w ładowanym pliku zobię coś takiego echo "łłłłłłąąąąąąćććć"; to mam krzaki.
Bez JS użycia jest normalnie(tak jakby js zmieniał kodowanie)

Pomocy

Co do kodowania problem rozwiązany:)

XMLHttpRequestObject.overrideMimeType('text/html; charset=UTF-8');

zamiast UTF miałem ISO:)

Nadal pozostaje problem z bazą:/
Go to the top of the page
+Quote Post
230005
post
Post #2





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Bez kodu php to sobie możemy pozgadywać, a ja zgaduję, że skrypt oczekuje jakichś danych w jednej z tablic superglobalnych i ich nie dostaje. Czy użytkownik odbc to właściwy użytkownik tej bazy?

PS.
Zmieniłbym tytuł tematu (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował 230005 5.02.2010, 17:34:38
Go to the top of the page
+Quote Post
qbas-s
post
Post #3





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


Kod php jest jak z elementarza i bardzo podstawowy przeznaczony do celów testowych:)

  1.  
  2. $q="SELECT * FROM category_2 where previous_cat='2'";
  3. $r=mysql_query($q);
  4. echo "<select id=\"cat2\" name=\"cat2\" size=\"13\" >";
  5. echo "<option selected>$row[name]</option>";
  6. while($row=mysql_fetch_array($r))
  7. echo "<option>$row[name]</option>";
  8. echo "</select>";
  9.  


wczytuje go poprzez funkcję getDate();

Baza posiada nazwę użytkownika root, nie wiem skąd się wzieło ODBC :///
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


A gdzie się łączysz z bazą?
Go to the top of the page
+Quote Post
qbas-s
post
Post #5





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


wcześniej już napisałem "Połączenie z bazą jest prawidłowe, bo bez pośrednictwa js jest ok."
mysql_conn.php jest includowany do index.php

Wszystko działa elegancko do momentu kiedy js wczytuje php które próbuje robić zapytanie do mysq
Go to the top of the page
+Quote Post
230005
post
Post #6





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Cytat
Połączenie z bazą jest prawidłowe, bo bez pośrednictwa js jest ok


Sam nieraz podobnie tu pisałem, a potem się okazywało, że wcześniej nie było ok, po prostu błąd sobie występował tylko w określonych przypadkach. Pokaż cały kod który jest używany.

Swoją drogą, to co nam po tym kodzie który dałeś, skoro błędy ewidentnie wskazują na miejsce gdzie się łączysz...
Go to the top of the page
+Quote Post
qbas-s
post
Post #7





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


  1.  
  2. include("public/config.php");
  3.  
  4. $link = mysql_connect($host,$user, $pass)
  5. or die("Błąd połącznie z bazą danych");
  6. mysql_query("SET NAMES 'utf8'");
  7.  


$host, $db, $user i $pass oczywiście pobieram z confin.php
Go to the top of the page
+Quote Post
batman
post
Post #8





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




A czy dołączasz ten plik do skryptu php, który wywołujesz ajaxem? Jeśli nie, to stąd Twoje problemy.
Go to the top of the page
+Quote Post
qbas-s
post
Post #9





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


Ogólny zarys połączenia do mysql jest taki:
-- index.php - na początki incuduje plik który łączy się z php
-- index.php - w trakcie są includowane inne pliki które są komponentami i w nich już nie trzeba wstawiać połączenia do mysql bo jest to już zainicjowane w index
Plików includowanych jest mnóstwo. Wszystkim zarządzają instrukcje warunkowe. W wielu plikach jest łączenie się z mysql i działa to bardzo dobrze.
Problem jest tylko wtedy jak za pomocą ajax wczytuje do diva plik php który chce się łączyć z mysql. Nie można zainicjować w tym przypadki
kolejnego razu połącznia bo będzie błąd.
W akcie desperacji nawet to zrobiłem ale efekt był taki jak się spodziewałem:/
-- index.php - na końcu jest zamknięcie połącznia



Dodatkowo jak w php wczytywanym przez getData() zrobię coś takiego

<script type="text/javascript">
document.write('test');
</script>

To napis test się nie pojawia - tak jakby JS w tym pliku byłby ignorowany:/

Nie rozumie w czym problem:/

Ten post edytował qbas-s 6.02.2010, 00:29:22
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




A jak się nazywa plik, do którego odwołujesz się ajaxem? I czy w tym pliku dodałeś połączenie z bazą danych?
Go to the top of the page
+Quote Post
qbas-s
post
Post #11





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


plik nazywa się choose_cat.php

Tak jak wcześniej napisałem ten plik jest includowany do index.php gdzie już jest zainicjowane połączenie z bazą
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no ale skoro ty sie odwolusze bezposrednio do choose_cat.php to jemu zwisa i powiewa gdzie on jest includowany. On nie dostaje połaczenia i koniec kropka. A nie dostaje bo ty go includujesz w index.php, ktore ma sie nijak do twojego aktualnego wywolania.

przenosze, bo na chwile obecną z ajaxem to nie ma zadnego związku
Go to the top of the page
+Quote Post
qbas-s
post
Post #13





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


widocznie jakoś się ma skoro mam do index.php includowane pliki tylko w php które wykonują zapytania do mysql i im wystarcza tylko to że na początku index.php includuje plik php z połączeniem do bazy.
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




sam napisales ze ajaxem wywolujesz bezposrednio plik choose_cat.php.
A sam plik choose_cat.php includujesz dopiero w index.php

Naprawdę nie widzisz tu pewnej rozbieżnosci?
Go to the top of the page
+Quote Post
qbas-s
post
Post #15





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


Miałeś rację przyznaje soga:)
W momencie kiedy includuje się coś przez ajaxa wtedy ścieżki do plików trochę się zmieniają.

A czemu podczas includowaniu pliku przez ajax nie działa js który jest zawarty w tym pliku? np:

<script type="text/javascript"> document.write('test'); </script>
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




kod js nie jest domyslnie wykonywany. Jakbys uzyl np. jQuery i html() to by ci sie js wykonal.
Go to the top of the page
+Quote Post
qbas-s
post
Post #17





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


domyślam się że tej domyślnie ustawionej opcji nie da się zmodyfikować?(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #18





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Domyslna z ciebie bestia (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
qbas-s
post
Post #19





Grupa: Zarejestrowani
Postów: 304
Pomógł: 1
Dołączył: 28.06.2009

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


przeczytałem Twój opis pod postami i jakoś tak samo mi przyszło:)

Ten post edytował qbas-s 9.02.2010, 14:52:25
Go to the top of the page
+Quote Post

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: 23.08.2025 - 05:15