PHP 8 e mysqli_connect

di il
5 risposte

PHP 8 e mysqli_connect

Ciao a tutti, non trovo nulla su come collegarmi a un database MySQL con php8, ho visto che la connessione con mysqli_connect() non funziona più, anche il manuale la da valida fino a PHP 7 ma non trovo nulla su come fare con PHP 8, sapete aiutarmi?
Grazie.

5 Risposte

  • Re: PHP 8 e mysqli_connect

    Dovresti anche considerare di impostare error_reporting = -1 nel tuo php.ini e display_errors = On con display_startup_errors = On se sei in modalità di sviluppo per vedere tutti gli errori fatali / di analisi o impostare error_log sul file desiderato per registrare gli errori invece di display_errors in produzione (questo richiede log_errors da accendere).
    Mentre sul server di produzione via lato server (inteso script php) potrai impostare error_reporting(0); e opzionalmente ini_set.
    Spero ti aiuti.
    Cerca anche nel tuo php.ini che l'estensione extension=mysqli non abbia commenti e sia abilitata
    D'ora in avanti posta il messaggio d'errore o se appare pagina bianca, specificando ulteriormente il tuo problema.
  • Re: PHP 8 e mysqli_connect

    Purtroppo non ho accesso alla modifica del php ini nello spazio dove ho php8, quindi in teoria mysqli:connect dovrebbe andare anche con php8? Perché sul manuale da il sutpporto solo fino a php7, esiste un diverso sistema per collegarsi a mysql con php8? Grazie.
  • Re: PHP 8 e mysqli_connect

    Penso che le funzioni musqli_* siano deprecate.
    devi usare PDO, che è comunque consigliato da anni!
  • Re: PHP 8 e mysqli_connect

    Ok grazie
  • Re: PHP 8 e mysqli_connect

    Php è un linguaggio interpretato, il parser php interpreta e poi lo traduce in altro linguaggio generalmente in c.. leggi è ancora presente nel master ma deve essere compilato con il supporto mysqli come detto in precedenza. Requisiti https://www.php.net/manual/en/mysqli.requirements.ph
    https://github.com/php/php-src/blob/master/ext/mysqli/mysqli_api.c
    Via script php abilità
    error_reporting(-1);
    ini_set('display_startup_errors', '1');
    ini_set('display_errors', '1');
    $mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
    
    Se il tuo php.ini non usa abilitare errori fatali dovrai vedere la pagina bianca (altrimenti errore fatale o Warnings o Notice o funziona).
    mysqli_connect è un alias deprecato, https://www.php.net/manual/en/ref.mysqli.ph
Devi accedere o registrarti per scrivere nel forum
5 risposte