Nette\database connection

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Takeshi
Člen | 596
+
0
-

Mam problem s pripojenim nete\database … s easyphp nemam problem … klasicky localhost … ale ked to skusam priamo na internete, tak mi to nejde … (mam ucet na websupporte) a mysql 5.1

<?php
$database = new Nette\Database\Connection('mysql:host=/tmp/mysql51.sock;dbname=ddd', 'ddd', 'ddd');
?>

alebo

<?php
$database = new Nette\Database\Connection('mysql:host=db51.xxxxx.sk;dbname=ddd', 'ddd', 'ddd');
?>

ak ma niekto skusenosti, rad sa priucim … skusal som co sa dalo, ale stale vyhadzuje error 500

Editoval Takeshi (26. 4. 2012 12:26)

James_Scott
Člen | 55
+
0
-

Co to znamena nejde? Chce to lepsi popis.
Funguje na hostingu PDO? Koukal ses do logu?

jtousek
Člen | 951
+
0
-

Přesně tak, málo informací. Navíc když už Nette na produkci hodí error 500 tak do složky log ti vygeneruje laděnku s podrobnou chybou a pokud to máš nastavené tak ještě pošle e-mail. Na opravení chyby to v 9 případech z 10 stačí.

Acnnair
Člen | 34
+
0
-

Nemáš tam mať namiesto host náhodou unix_socket, keď už ho tam dávaš?

<?php
new Nette\Database\Connection('mysql:unix_socket=/tmp/mysql51.sock;dbname=ddd', 'ddd', 'ddd');
?>

Každopádne pozri logy ako ti radili ostatní.

Takeshi
Člen | 596
+
0
-

jtousek napsal(a):

Ja som len ZACIATOCNIK, (tak ma prosim nezastrelte :-) ), ale vobec neviem ako sa naraba so spominanym priecinkom log. Je tam vela informacii a neviem sa v tom orientovat …a k tomu ze malo informacii … s cistym php sa mi prihlasit v pohode da, teda..

<?php

$host = 'localhost';
$user = 'ddd';
$pass = 'ddd';
$db = 'ddd';

$conn = mysql_connect($host,$user,$pass) or die (mysql_error());
mysql_select_db($db, $conn) or die (mysql_error());
?>

ale s Nette\Database je to problem (ako som uz spomenul)

<?php
$database = new Nette\Database\Connection('mysql:host=localhost;dbname=ddd', 'ddd','ddd');
?>
vvoody
Člen | 910
+
0
-

Ako pisal Acnnair, nasledovny zapis je hlupost

host=/tmp/mysql51.sock

treba pouzit

unix_socket=/tmp/mysql51.sock

presne podla toho co pise WS webadmin

V php skriptoch v prípade PDO funkcií je syntax nasledovná:

$dsn = "mysql:unix_socket=/tmp/mysql50.sock;dbname=$databaza";

alebo: http://sk.php.net/…nnection.php#…

Ak tam mas stale error, tak potom sa najskorej pokus rozbehat ladenku, alebo si jednoducho otvor log. To su posledne riadky z log/error.log alebo tie log/exception-*.html subory. Snad tam nejake mas :)