Autor | Zpráva | ||
---|---|---|---|
michal454454 Profil |
#1 · Zasláno: 18. 9. 2014, 17:36:37
Zdravím mam tady takovy problém s pripojením databaze vypisuje mi to chyby se souborem connect.php a nevím vůbec v cem je problém... toto téma uz tedka resim na PHP registrace a prihlaseni, ale nekteri uzivatele se tam asi nepodivali tak kdyztak dekuji ze kazdou radu moc... :)
vypisuje tyto chyby: Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\connect.php on line 6 Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\dev\localhost_www\connect.php on line 6 Deprecated: mysql_select_db(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\connect.php on line 7 Warning: mysql_select_db(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\connect.php on line 7 Warning: mysql_select_db(): A link to the server could not be established in C:\dev\localhost_www\connect.php on line 7 Nastala chyba v pripojeni k databazi |
||
jefitto44 Profil |
#2 · Zasláno: 18. 9. 2014, 17:37:52
Vyzerá to na zlé heslo/meno/host databázy
a mysql_connect je zastarelé a nezabezpečené pripojenie btw (ale ja ho tiež používam) |
||
michal454454 Profil |
#3 · Zasláno: 18. 9. 2014, 17:42:47
a co tedy udelat pro to aby to slo...? :) diky moc
|
||
rovi Profil |
#4 · Zasláno: 18. 9. 2014, 17:42:51
Opravdu se jedná o špatné heslo pro přístup do databáze. Funkce mysql_* pro začátek stačí, ale doporučuji nějaký databázový layer. Pusť google a koukni na tutoriály využívání PDO. Nebo tam napiš dibi, která je IMHO na začátek složitá. Doporučuji layer medoo. Je opravdu super. Pokud ovládáš práci s poli.
|
||
michal454454 Profil |
#5 · Zasláno: 18. 9. 2014, 17:45:28
Tak jsem zadal heslo kterým se normalne prihlasuji na prikazovem radku do databaze a uz mi to vypsalo jen toto:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\connect.php on line 6 |
||
rovi Profil |
#6 · Zasláno: 18. 9. 2014, 17:51:28
Tak už jsi/jste připojen k databázi. Gratuluji. Opravdu zkuste si stáhnout medoo. Kdyžtak pomůžu s konfigurací...
|
||
michal454454 Profil |
#7 · Zasláno: 18. 9. 2014, 17:53:13
a co ta chyba tahle ještě jedna? :) co se tam objevuje to je s tou verzi?
|
||
David Klouček Profil |
#8 · Zasláno: 18. 9. 2014, 18:00:32
michal454454:
mysql_* funkce jsou zastaralý, použij něco jinýho, mysqli, pdo nebo rovnou přejdi na nějakou knihovnu - třeba Dibi nebo Nette\Database. |
||
rovi Profil |
#9 · Zasláno: 18. 9. 2014, 18:03:34
To není chyba, ale varování. Odstraní se použitím jiných funkcí. Např. rozšíření mysqli místo mysql. Tutoriálů je mnoho... Nebo absurdně brutální řešení pro zasmání - downgrade verze php
|
||
michal454454 Profil |
#10 · Zasláno: 18. 9. 2014, 19:08:27
takze ted by když na te strance registrace.php zadam udaje tak by se mi měli ulozit do me databaze? :)
|
||
rovi Profil |
#11 · Zasláno: 18. 9. 2014, 19:14:16
Pokud máš správně navrhlou tabulku a vkládáš validní údaje, tak ano.
|
||
lionel messi Profil |
#12 · Zasláno: 18. 9. 2014, 19:25:09
michal454454:
Ohľadne prechodu z mysql_ na mysqli_ funkcie: www.fisir.tk/itblog/mysql_ — jednoduché a dobré zhrnutie. |
||
michal454454 Profil |
tak mam to takhle:
tabulka: mysql> USE wsalbiondat Database changed mysql> describe uzivatele; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | login | varchar(40) | YES | | NULL | | | heslo | varchar(32) | YES | | NULL | | | email | varchar(50) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ 4 rows in set (0.03 sec) mysql> <?php $db_server = 'localhost'; $db_login = 'root'; $db_password = "wsalbion789"; $db_name = 'wsalbiondat'; $spojeni = MySQL_Connect($db_server ,$db_login, $db_password); MySQL_Select_DB($db_name)or die('<p style="color: #CC0000">Nastala chyba v pripojeni k databazi'); mysql_query("set names utf8"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; UTF-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="jssslider.js"></script> <link rel="stylesheet" type="text/css" href="stylefanszona.css"> <title>WEST SANDWICH ALBION</title> </head> <body> REGISTRACE do FANSZÓNY <form action="#" method="post"> <table> <tr> <td>Nick: </td> <td><input type="text" name="nick" value="<?php if(isset($_POST["nick"])){echo $_POST["nick"];}?>" size="25" tabindex="1" /></td> </tr> <tr> <td>Heslo: </td> <td><input type="password" name="heslo" value="" size="25" tabindex="2" /></td> </tr> <tr> <td>Ověření hesla: </td> <td><input type="password" name="over_heslo" value="" size="25" tabindex="3" /></td> </tr> <tr> <td>Email: </td> <td><input type="text" name="email" value="<?php if(isset($_POST["email"])){echo $_POST["email"];}?>" size="25" tabindex="4" /></td> </tr> <tr> <td colspan="2"><input type="submit" name="submit" value="Registrovat se" /></td> </tr> </table> </form> <?php include "./connect.php";/* připojení k databázi */ if(isset($_POST['submit'])) { $nick = mysql_real_escape_string($_POST['nick']); $heslo = mysql_real_escape_string($_POST['heslo']); $over_heslo = mysql_real_escape_string($_POST['over_heslo']); $md5_heslo = md5($heslo); $email = mysql_real_escape_string($_POST['email']); /* — KONTROLA ZADANÝCH ÚDAJŮ — */ $user_check = mysql_query("SELECT login FROM uzivatele WHERE login='".$nick."'"); if($nick==""){echo"Nebyl vyplněn nick!";} else if(mysql_num_rows($user_check)){echo"Tento nick používá již jiný uživatel.";} else if($heslo==""){echo"Nebylo vyplněno heslo";} else if($over_heslo==""){echo"Nebylo vyplněno ověřovací heslo";} else if($heslo!=$over_heslo){echo"Vyplněná hesla se neshodují";} else if($email==""){echo"Nebyl vyplněn email";} else{ $sql= mysql_query("INSERT INTO uzivatele VALUES ('','$nick','$md5_heslo','$email')") or die(mysql_error()); echo"Registrace byla úspěšně dokončena!"; } } ?> </body> </html> |
||
lionel messi Profil |
#14 · Zasláno: 18. 9. 2014, 19:30:06
michal454454:
Máš to ok. Prechod na MySQLi bude vyzerať takto: connect.php <?php $db_server = 'localhost'; $db_login = 'root'; $db_password = "wsalbion789"; $db_name = 'wsalbiondat'; $spojeni = MySQLi_Connect($db_server ,$db_login, $db_password, $db_name); mysqli_query($spojeni, "set names utf8"); //pri každom volaní mysqli_query uvedieš $spojeni ako prvý argument ?> |
||
michal454454 Profil |
#15 · Zasláno: 18. 9. 2014, 19:31:56
a co vlastne znamena to MySQLi to je novejsi verze ty databaze MySQL jakoby? :)
|
||
rovi Profil |
#16 · Zasláno: 18. 9. 2014, 19:33:38
Vypadá zběžně funkčně ok. Nicméně jak to máš s charset? Vyzkoušej to a pak můžeš debuggovat. Doporučuji jinou konstrukci validátoru, je nepřehledná a dovoluje registraci uživatele jen s mezerou.
|
||
lionel messi Profil |
#17 · Zasláno: 18. 9. 2014, 19:35:38
michal454454:
„a co vlastne znamena to MySQLi to je novejsi verze ty databaze MySQL jakoby?“ Viac-menej áno. To „i“ na konci znamená improved — teda vylepšená, keďže je tam pridaných viacero nových vecí oproti pôvodnému MySQL — objektový prístup, prepared statements a ďalšie. |
||
michal454454 Profil |
#18 · Zasláno: 18. 9. 2014, 19:37:47
tak ted mi to po tom co jsem dal registrovat vyhodilo tunu chyb zas.. nebo varovani teda...
Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\fanszona.php on line 40 Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\fanszona.php on line 40 Warning: mysql_real_escape_string(): A link to the server could not be established in C:\dev\localhost_www\fanszona.php on line 40 Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\fanszona.php on line 41 Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\fanszona.php on line 41 Warning: mysql_real_escape_string(): A link to the server could not be established in C:\dev\localhost_www\fanszona.php on line 41 Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\fanszona.php on line 42 Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\fanszona.php on line 42 Warning: mysql_real_escape_string(): A link to the server could not be established in C:\dev\localhost_www\fanszona.php on line 42 Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\fanszona.php on line 44 Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\fanszona.php on line 44 Warning: mysql_real_escape_string(): A link to the server could not be established in C:\dev\localhost_www\fanszona.php on line 44 Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\dev\localhost_www\fanszona.php on line 46 Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in C:\dev\localhost_www\fanszona.php on line 46 Warning: mysql_query(): A link to the server could not be established in C:\dev\localhost_www\fanszona.php on line 46 Nebyl vyplněn nick! |
||
rovi Profil |
OT: Škoda, že tu není tlačítko +1, like nebo thx odkaz.
Bylo by možné projekt hodit na free webhosting? Ať se můžem též podívat a lépe poradit? Zas to heslo... V connect.php máš údaje pro root. Proč se připojuješ jako user bez hesla? |
||
michal454454 Profil |
#20 · Zasláno: 18. 9. 2014, 19:49:02
http://php-zkouskar.wz.cz/
je to tahle adresa... |
||
rovi Profil |
#21 · Zasláno: 18. 9. 2014, 19:58:01
Na wz.cz nemají nainstalovanou podporu mysqli. Stále tuším běží na php4. Doporučuji endora.cz
rychlé, zdarma... A alespoň funkční |
||
michal454454 Profil |
#22 · Zasláno: 18. 9. 2014, 20:04:59
http://php-zkouska.8u.cz/
tak tohle no... to je ta endora |
||
rafej Profil |
#23 · Zasláno: 18. 9. 2014, 20:14:30
Pokud chceš místo mysql použít mysqli, musíš to přepsat u všech funkcí!
Kromě toho ti nebude fungovat mysql_real_escape_string, protože u mysqli tato funkce neexistuje a místo toho se používají tzn. prepared statements. Odkaz na vysvětlení a jednoduché příklady máš v příspěvku č. 12 |
||
michal454454 Profil |
a mohu tedy pouzit jen mysql? a nechat to jak to bylo? :) a mělo by to jit tedy ne potom?
|
||
rovi Profil |
#25 · Zasláno: 18. 9. 2014, 20:18:42
Mohl bys ještě povolit na endoře post požadavky ze zahraničí? Takto se nemůžu ani registrovat...
|
||
michal454454 Profil |
#26 · Zasláno: 18. 9. 2014, 20:20:05 · Upravil/a: michal454454
ted jsem to zkusil nechat jen s obycejnym mysql a nefunguje to na ty endore pise to problém s databazi pripojenim
a jak se povoluje ze zahranici? to nechapu.. |
||
rovi Profil |
#27 · Zasláno: 18. 9. 2014, 20:22:39
Používat tyto funkce můžeš. Jestli se chceš hlášek zbavit, napiš za tag
<?php error_reporting(0); <?php //error_reporting(0); |
||
michal454454 Profil |
#28 · Zasláno: 18. 9. 2014, 20:24:43
ja furt nechapu proc mi nefunguje to propojenis databazi i když tam nemam MySQLi ale jenom MySQL tak proc to nefunguje... ta registrace ani na localhostu ani na serveru ty endory..
|
||
rovi Profil |
Samozřejmě, že se Ti nepodaří připojit k db, protože localhost označuje počítač na kterém běží databáze. Localhost = tento počítač.
Pro webovou prezentaci musíš vytvořit novou databázi a k ní budeš mít nové uživatelské jméno a heslo pro připojení k ní... Netušil jsem, že neovládáš základní dovednosti a nemáš základní znalosti pojmů... Mysql a mysqli jsou odlišné implementace pro práci s databází. Tzn, že nemůžeš jen vyměnit mysql_* za mysqli_* |
||
michal454454 Profil |
#30 · Zasláno: 18. 9. 2014, 20:27:18
ale ted jsem zaregistroval a vypsalo mi to toto na te mysql samotne:
Incorrect integer value: '' for column 'id' at row 1 |
||
Téma pokračuje na další straně.
|
0