Autore Topic: [PHP]Porting da mysql a mysqli  (Letto 530 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline condor_uk

  • Nuovo Iscritto
  • *
  • Post: 44
Re:[PHP]Porting da mysql a mysqli
« Risposta #15 il: 08 Aprile 2017, 12:09 »
ciao @Miguel89, avevo già sistemato quella parte di codice ma non avevo aggiornato il post  :confused:

ma sono sempre al solito errore
Codice: [Seleziona]
Query: SELECT * FROM utenti WHERE username = '' AND password = MD5('')
Errore:

 :smash:

Offline Miguel89

  • Global Moderator
  • VIP
  • *****
  • Post: 4957
  • Country: it
  • Sesso: Maschio
Re:[PHP]Porting da mysql a mysqli
« Risposta #16 il: 08 Aprile 2017, 12:15 »
Hai provato a farti stampare il valore delle variabili userame e password in vari punti del codice??

Offline -Mirco-

  • Administrator
  • Membro Anziano
  • *****
  • Post: 475
  • Country: it
  • Sesso: Maschio
  • "Non esiste curva in cui non si può superare"
    • Ilpuntotecnicoeadsl
Re:[PHP]Porting da mysql a mysqli
« Risposta #17 il: 08 Aprile 2017, 17:28 »
Esatto, debugga in stile break point.
Quindi piazzati dei print_r duranti le righe e vedi se le variabili sono sempre valorizzate o per qualche motivo si perdono prima che le passi alla funzione. :bye:
"Non esiste curva in cui non si può superare"
Ayrton Senna

Offline condor_uk

  • Nuovo Iscritto
  • *
  • Post: 44
Re:[PHP]Porting da mysql a mysqli
« Risposta #18 il: 11 Aprile 2017, 15:02 »
Allora rieccomi,
seguendo i consigli di @mirco ho debuggato in stile breck point e a quanto pare perdo la variabile nel momento in cui
arrivo al mysqli_real_escape_string

Codice: [Seleziona]
// recupero il nome e la password inseriti dall'utente
$username      = trim($_POST['username']);
$password      = trim($_POST['password']);
//OK print_r ($username);
//OK print_r ($password);


// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc()) {
$username      = stripslashes($username);
$password  = stripslashes($password);
}
//OK print_r ($username);
//OK print_r ($password);


// verifico la presenza dei campi obbligatori
if(!$username || !$password) {
$messaggio = urlencode("Non hai inserito il nome o la password");
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
exit;
}
//OK print_r ($username);
//OK print_r ($password);

// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$username      = mysqli_real_escape_string($conndb,$username);
$password = mysqli_real_escape_string($conndb,$password);
[b]// KO VARIABILE NON VALORIZZATA[/b] print_r ($username);
[b]// KO VARIABILE NON VALORIZZATA[/b] print_r ($password);

 :confused:
« Ultima modifica: 11 Aprile 2017, 15:04 da condor_uk »

Offline -Mirco-

  • Administrator
  • Membro Anziano
  • *****
  • Post: 475
  • Country: it
  • Sesso: Maschio
  • "Non esiste curva in cui non si può superare"
    • Ilpuntotecnicoeadsl
Re:[PHP]Porting da mysql a mysqli
« Risposta #19 il: 11 Aprile 2017, 23:05 »
@condor_uk  la variabile $conndb è valorizzata al momento che chiami string mysqli_real_escape_string?
"Non esiste curva in cui non si può superare"
Ayrton Senna

Offline Miguel89

  • Global Moderator
  • VIP
  • *****
  • Post: 4957
  • Country: it
  • Sesso: Maschio
Re:[PHP]Porting da mysql a mysqli
« Risposta #20 il: 11 Aprile 2017, 23:08 »
Ciao condor_uk,
ci puoi ri-postare tutto il codice, anche la parte in cui fai la connessione al database?

Nel codice che avevi postato prima:
[...]
Connessione al db

Codice: [Seleziona]
<?php
// Apriamo la connessione verso il database mysql
$conndb mysqli_connect('localhost''utente''password''database');

// Controlliamo l'esito della connessione
if (!$conndb) {
echo 'Errore durante la connessione al server MySQL';
exit();
}

// Chiudiamo la connessione
mysqli_close($conndb);

?>

[...]

alla fine c'è un
Codice: [Seleziona]
mysqli_close($conndb);che non devi fare in quel punto, sennò poi è normale che non funziona nulla...

la connessione la devi chiudere alla fine, quindi dopo aver eseguito la query e recuperato il risultato

Offline -Mirco-

  • Administrator
  • Membro Anziano
  • *****
  • Post: 475
  • Country: it
  • Sesso: Maschio
  • "Non esiste curva in cui non si può superare"
    • Ilpuntotecnicoeadsl
Re:[PHP]Porting da mysql a mysqli
« Risposta #21 il: 13 Aprile 2017, 22:56 »
@condor_uk  mi accodo alla richiesta di @Miguel89

Senza il codice completo non possiamo seguire al 100% il flusso.
Se riesci ad inserirlo completo possiamo approfondire!
"Non esiste curva in cui non si può superare"
Ayrton Senna