Autor | Zpráva | ||
---|---|---|---|
gooner47 Profil * |
#1 · Zasláno: 25. 6. 2013, 14:15:44
dobrý den má tento scrip pro připojení do db :
<?php $config = array( "host" => "localhost", "user" => "root", "pass" => "", "name" => "administrace", ); require_once 'NotORM.php'; $dsn = sprintf("mysql:host=%s;dbname=%s", $config["host"], $config["name"]); $pdo = new PDO($dns, $config["user"], $config["pass"]); $db = new NotORM($pdo); Ale vždy mi to vyplivne: No database selected Ale když použiju script kterej sem používal dřív vše funguje děkuji za každou radu! mysql_connect($config['host'], $config['user'], $config['pass']); mysql_select_db($config['name']) or die("Chyba! Databáze nebo tabulka nebyla nalezena!"); mysql_query("SET NAMES 'utf8'"); |
||
DJ Miky Profil |
#2 · Zasláno: 25. 6. 2013, 16:11:01
Vytváříš proměnnou $dsn, ale na dalším řádku používáš $dns.
|
||
gooner47 Profil * |
#3 · Zasláno: 25. 6. 2013, 23:51:59
Děkuji.
Jěstě by se chtěl zeptat jestli má takto vypadat PDO pro zápis do db: $db->uzivatele->execute("INSERT INTO uzivatele (login, pass, email, prijmeni, jmeno, prava) VALUES (".$data['login'].", ".$pass_md5.", ".$data['email'].", ".$prijmeni.", ".$jmeno.", '1')"); |
||
pcmanik Profil |
gooner47:
Execute sa používa v prípade prepared statement. Ale ty používaš klasické query - na to slúži metóda query. Dáta zrejme neošetruješ, čo je zle. Na to slúži táto metóda. Najlepšie ale bude ak začneš využívať už spomínané prepared statements. Viac sa dočítaš v dokumentácii. A čísla neukladaj ako reťazce - nedávaj ich do úvodzoviek. |
||
gooner47 Profil * |
#5 · Zasláno: 26. 6. 2013, 12:18:23
$db->uzivatele->query("INSERT INTO uzivatele (login, pass, email, prijmeni, jmeno, prava) VALUES (".$data['login'].", ".$pass_md5.", ".$data['email'].", ".$prijmeni.", ".$jmeno.", '1')"); Když to takhle použiji vypíše se chyba: Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\Bootstrap\registrace.php on line 105 |
||
aDAm Profil |
#6 · Zasláno: 26. 6. 2013, 12:25:51
Tak zřejmě:
$db->uzivatele není objekt. Máš to nějak inicializované? |
||
DJ Miky Profil |
#7 · Zasláno: 26. 6. 2013, 13:11:06
V
$db máš objekt NotORM, ne PDO. Přečti si, jak se NotORM používá.
|
||
ts_istudio Profil |
#8 · Zasláno: 26. 6. 2013, 13:15:37
gooner47:
Brzo narazíš na další chybu - řetězce v tom dotazu nemáš obalené do apostrofů. |
||
gooner47 Profil * |
#9 · Zasláno: 26. 6. 2013, 13:17:23
nemám to nijak inicializované.
ale když to toho použiju notORM tak vypíše chybu: Fatal error: Call to protected method NotORM_Result::query() from context '' in C:\xampp\htdocs\Bootstrap\registrace.php on line 105 |
||
DJ Miky Profil |
#10 · Zasláno: 26. 6. 2013, 13:21:36
NotORM metodu
query nepoužívá. Přečti si, jak se NotORM používá. Jinak bys musel volat na objekt PDO, který máš v jiné proměnné.
|
||
gooner47 Profil * |
#11 · Zasláno: 26. 6. 2013, 22:54:14
Pořád nevím jak =( poradíte mi někdo?
|
||
Časová prodleva: 11 let
|
0