Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak zmienić mysql na mysqli
Forum PHP.pl > Forum > Przedszkole
pezet40
Witam. Pod php 5.5 oraz php 5.6 skrypt krzyczy mi że:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/pezet40/domains/

Mój kod w pliku database_setting.php:
  1. <?php
  2.  
  3. // Adres hosta MySQL
  4. $db_host="localhost";
  5.  
  6. //Nazwa uzytkownika
  7. $db_login="pezet40_mail";
  8.  
  9. //Haslo uzytkownika
  10. $db_pass="xxxxxxxxxxx";
  11.  
  12. //Nazwa bazy danych
  13. $db_name="xxxxxxxxxxl";
  14.  
  15. ?>


Moj kod w pliku connect.php

  1. <?php
  2. include("database_settings.php");
  3.  
  4. //Polaczenie z baza danych
  5. $dbid=mysql_connect($db_host,$db_login,$db_pass);
  6.  
  7. //Nazwa bazy danych
  8. mysql_select_db($db_name);
  9. mysql_query("set names utf8");
  10. ?>


Mój kod w pliku up.php:
  1. if($_GET['a']==logout){session_destroy();}
  2.  
  3. $message="Zostałeś wylogowany";
  4.  
  5. //Zalaczenie plikow systemowych
  6. include("engine/database_settings.php");
  7. include("engine/connect.php");
  8.  
  9. $data=mysql_query("select * from ustawienia where id=1");
  10. $rekord=mysql_fetch_array($data);
  11. $loginbaza=$rekord['login'];
  12. $haslobaza=$rekord['haslo'];
  13.  
  14. $uzytkownik=$_POST['uzytkownik'];
  15. $haslo2=$_POST['haslo'];
  16. if($uzytkownik) {
  17.  
  18. if($uzytkownik==$loginbaza and $haslo2==$haslobaza){
  19.  
  20. $_SESSION['uzytkownik']="uzytkownik";
  21. }
  22.  
  23. }
  24. $st=$_GET['st'];
  25.  
  26. if($st){session_destroy();}
  27.  
  28. ?>


Jak drodzy koledzy powinienem pozmieniać ten kod? Czytam manuale ale robię tylko więcej błędów :/
goartur
Czesc, tak mysql nie bedzie juz wspierane.
Daje ci przyklad z mojego silnika.

config/connection.php
  1. const DB_HOST = 'localhost';
  2.  
  3. const DB_NAME = 'przyklad';
  4.  
  5. const DB_USERNAME = 'root';
  6.  
  7. const DB_PASSWORD = '';
  8.  


funkcje/polaczenie.php
  1. $db= new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);
  2.  
  3. if($db->connect_error){
  4. echo 'Failed to connect to Mysql: (' . $db->connect_errno . ')' . $db-> connect_error;
  5. }


W glownym pliku index dodaj:

  1. require_once 'config/connection.php';
  2. require_once 'funkcje/polaczenie.php


Przyklad whileloop:

  1. $selectUsers = $db->query("SELECT * FROM users") or die(mysqli_error($db));
  2. while($userData = $selectUser->fetch_assoc()){
  3. echo $userData['nickname'];
  4. }



Chyba to wszystko aby przeniesc sie na mysqli.
Jakies pytania?

Notice:

Twoje zapytania sa podatne na ataki. poczytaj o mysqli_real_escape_string
com
@up chyba raczej o bindowaniu danych, bo to co proponujesz było tak samo w mysql ale to nie daję Ci wcale faktycznego bezpieczeństwa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.