| 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