ugrás a tartalomhoz

Nem tudok kapcsolódni a MySql szerverhez

kopri · 2005. Nov. 23. (Sze), 12.20
Sziasztok!

PHP 4.3.10-15 és Debian 2.4.31 Apache2 és MySql4.0.24 rendszeren dolgozom. Most kaptam meg ezt a szervert. Eddig más kezelte, de csak file szerverként üzemelt.
A phpMyAdmin segítségével tudok kapcsolatot létesíteni a MySql szerverrel, ez gond nélkül működik. Ha azonban php-ből szeretnék felkapcsolódni, a mysql_connect parancsra semmit sem reagál. Még hibaüzenet sem kapok. Egyszerüen nem jelenik meg semmi az oldalon.
A szkript pl. a következő:
<?php
$kapcsolat=mysql_connect("localhost","valaki","jelszo") or die(mysql_error());
print $kapcsolat;
Erre ki kellene írnia legalább az ID-t. De semmi. Üres lapot kapok...
 
1

nem jelenik meg semmi

Hojtsy Gábor · 2005. Nov. 23. (Sze), 23.33
A nem jelenik meg semmi az egy veszélyes terep, azaz bármilyen hiba lehet. Nézd meg, hogy egyáltalán lefut-e a PHP kód, vagy csak megkapod a forrását a böngészőben, ami nem mutatja, mert a <?php ?> tageken belül van, és ismeretlen tagnek tűnik. Ha ez nem gond, akkor írj kis HTML-t a <?php elé, nézd meg, az bejön-e.
2

<Nincs cím>

kopri · 2005. Nov. 24. (Cs), 09.05
Köszi a szintaktikai hiba javítását!

Az oldalon írtam már más php kódokat is. Azok minden gond nélkül lefutnak. Ha viszont a MySql szerverhez szeretnék kapcsolódni, olyan, mintha nem ismerné a parancsot. Ekkor az addig megjelenő php kódot sem futtatja le. A forrásban ilyenkor csak a <html><body></body></html> sort találom, semmi mást. Ha viszont megjegyzésbe teszem a mysql_connect utasítást, az oldal többi része újra helyesen fut le. A gond tehát ott indul, mikor adatbázist akarok kezelni. A legfurább az, hogy a phpMyAdmin viszont működik.
3

<Nincs cím>

Anonymous · 2005. Nov. 24. (Cs), 09.48
nincs output bufferelve?
4

<Nincs cím>

kopri · 2005. Nov. 24. (Cs), 10.24
Nincs
5

mintha nem ismerné az utasítást

Hojtsy Gábor · 2005. Nov. 27. (V), 00.46
A 'mintha' helyett célszerű lenne konkrét eredményre jutni.
<?php
ini_set("display_errors", TRUE);
error_reporting(E_ALL);
// szkript további része
?>
Lássuk, milyen hibaüzenetet kapsz. Ha még mindig semmit, akkor parse error van, és naplózva kellene legyen valahova a hiba, ha már a kimenetre nem íródik ki. Nem túl okos dolog ugyanis úgy beállítani egy szervert, hogy se a böngészőbe, se naplóba ne írja a hibákat.
7

mintha nem is ismeri

kopri · 2005. Nov. 28. (H), 19.45
Ez jó ötlet. A következő hibaüzenetet kaptam:
Call to undefined function: mysql_connect() in /var/www/nevsor.php on line 4
8

php csomagból?

Hojtsy Gábor · 2005. Nov. 28. (H), 19.49
Hát ha a PHP csomagból van telepítve, akkor legegyszerűbb a php-mysql csomagot feltenni, és ha minden jól megy, akkor rögtön menni fog a dolog.
10

<Nincs cím>

kopri · 2005. Nov. 28. (H), 19.57
Köszi, megpróbálom.
Szerinted mi a magyarázata annak, hogy a phpMyAdmin gond nélkül fut?
15

gázos

Hojtsy Gábor · 2005. Nov. 29. (K), 21.45
A történet eléggé furcsa. Ezekben a sztorikban szokott kiderülni, hogy valami nyilvánaló dolgot nem látsz az erdőtől... Ha pontosan ugyanabban a szkriptben, amiben nem működik a mysql_connect() beteszel egy phpinfo() hívást, akkor az is azt írja, hogy van MySQL támogatás? function_exists('mysql_connect') milyen választ ad? extension_loaded('mysql') mit mond? Én kipróbálnám ezt...
<?php

/* !!!! Ez a pelda nem celszeru masolando kod altalanos esetre,
        csak az adott problema okat probalja felderiteni. */

if (!extension_loaded('mysql')) {
  die('Nincs is MySQL kiterjesztes');
}
if (!function_exists('mysql_connect')) {
  die('Kiterjesztes megvan, de a fuggveny nem');
}

// Es meg dobjunk hibat, ha nem egy...
error_reporting(E_ALL);

// Erre mondod, hogy nincs...
mysql_connect("localhost", "username", "pass");
16

Gázos

kopri · 2005. Nov. 30. (Sze), 12.36
Sikerült!!!!! Végre! Nem is tudod, mennyire örülök neki!!! Már kezdtem "hülyének nézni magam":-))

Szóval:
A dolog nagyon fura. A phpinfo() azt mutatta, hogy van MySQL támogatás. Megnéztem a csomagok meglétét a dpkg és dselect segítségével, ott is minden rendben. Az általad javasolt kód viszont azt adta vissza, hogy mégsem érhető el a MySQL.
Gondoltam egy hegyeset és letöröltem az összes ide tartozó csomagot a dselect progival, majd újra felraktam mindent. Újraindítottam az apache2-t és megy minden. Húúúú...
Ezzel is kezdhettem volna, de gondoltam az elődöm (egy guru) nem hibázhatott.
Na mindegy! A lényeg, hogy megy!
Köszönöm a kitartó segítségnyújtást! Nagyon jólesett!
Üdv.:
Kopri
6

MySQL extension nincs telepítve?

janoszen · 2005. Nov. 27. (V), 18.16
Üdv!

2 lehetőséget látok, ha tényleg nem ismeri a parancsot:

1. Egyáltalán nincs telepítve a MySQL kiterjesztés a PHPhez.

2. MySQLi van telepítve, ami 4.1+ MySQL-hez kell. Ennek megfelelően asszem más a parancs.

Egy phpinfo() megmondja, hogy melyik van telepítve.

Kicsit kibővítve a kódodat, én ezt csinálnám:

$kapcsolat=mysql_connect("localhost","valaki","jelszo");
if (mysql_error())
{
 echo("Connect failed.");
} else {
 echo("Connect OK");
}
9

<Nincs cím>

kopri · 2005. Nov. 28. (H), 19.54
A MySql verziószáma: 4.0.24_debian-10-log
11

MySQLi?

janoszen · 2005. Nov. 28. (H), 21.35
1. Próbáltad mysqli_connect-tel?

2. phpinfo() mit mond? Van MySQL extension telepítve?
12

próbálkozás

kopri · 2005. Nov. 29. (K), 15.12
Megpróbáltam az általad javasolt parancs segítségével csatlakozni, de nem sikerült.
A phpinfo() szerint van és működik is a MySQL támogatás.
Próbáltam megkeresni a phpMyAdmin forráskódjában a csatlakozás módját, de nem találtam. Nem értem. Hogyan lehetséges, hogy a phpMyAdmin segítségével minden adatbázissal kapcsolatos művelet sikeres, php-ből pedig az első sornál megakadok.
Az általam írt php kódot átvittem egy másik szerverre (SuSE 9.3+Apache2+MySQL+PHP), azon gond nélkül fut minden adatbázishoz kapcsolódó művelet.
13

user név

Off- · 2005. Nov. 29. (K), 16.45
üdv!

user nevedben nincs valami speciális karakter? én multkor belefutottam hogy kötőjel volt a mysql user nevemben, és nem volt hajlandó semmilyen adatbázis műveletet végrehajtani!

talán.. próbáld meg :)

*****
Durucz Gábor
14

user név

kopri · 2005. Nov. 29. (K), 16.58
Sima mezei user nevet használok, semmi spec. karakter. Addig nem jut el, hogy ellenőrizze a felhasználó nevét.
17

Call to undefined function mysql_connect()

gaso · 2006. Május. 27. (Szo), 16.48
Sziasztok,

hasonló problémám van a fentiekhez, tesztelem a mysql szerverhez való csatlakozást:
<?php
$ossz = mysql_connect("localhost", "root", "jelszo");
echo "$ossz";
?>
ezt írja ki futtatás után:
Fatal error: Call to undefined function mysql_connect() in c:\Inetpub\wwwroot\teszt.php on line 2

mi a gond ezzel? miért nem tudok csatlakozni a mysql-hez?
mysqld-nt.exe fut
mysql_front-ból tudok adatbázis feltölteni
------------------------------------------------
ami van:
PHP 5.1.4
MySQL 5.0.21
MySQL-Front 3.2
IIS
WinXP SP2

előre is köszönet
18

külön MySQL kiterjesztés

Hojtsy Gábor · 2006. Május. 28. (V), 11.44
A PHP 5-höz külön MySQL kiterjesztés van, amit a php.ini-ben be kell tölteni.