Visualizzazione risultati 1 fino 9 di 9

Discussione: problema da mysql a mysqli

  1. #1
    Guest

    Predefinito problema da mysql a mysqli

    Ciao a tutti,

    Vengo subito al dunque e cerco di essere breve. Devo passare dal vecchio mysql a mysqli. Qualcosina sono riuscito a capirla ma mi manca ancora tanto. E il punto è il seguente:

    Codice PHP:

    <?php

    require_once("connettimysqli.php");

    if(!isset(
    $_POST['submit'])){

    $nazione =mysqli_real_escape_string(strtolower(trim ($_POST['nazione'])));
    $nuovanazione = mysqli_real_escape_string(strtolower(trim ($_POST['nuovanazione'])));
    $citta = mysqli_real_escape_string(strtolower(trim ($_POST['citta'])));
    $nuovacitta = mysqli_real_escape_string(strtolower(trim ($_POST['nuovocomponente'])));
    $provincia = mysqli_real_escape_string(strtolower(trim ($_POST['provincia'])));
    $nuovaprovincia = mysqli_real_escape_string(strtolower(trim ($_POST['nuovaprovincia'. ''])));

    //Categoria --> nazione --> localita

    $con->query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");
    $vuota=$con->mysqli_num_rows($con);
    if(
    $vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
    echo "Nazione: <select name=\"categoria\">";
    echo
    "<option value=\"\">-seleziona-</option>";
    while(
    $riga=mysql_fetch_array($q)){
    echo
    "<option value=\"".$riga['nazione']."\">".$riga['nazione']."</option>";
    }
    //fine while
    echo "</select> ";
    }
    //fine if vuota

    //Componenti --> città --> localita
    $con->query("SELECT descrizione FROM tblcomponenti ORDER BY descrizione");
    $vuota=mysqli_num_rows($con);
    if(
    $vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
    echo "Componente: <select name=\"componente\">";
    echo
    "<option value=\"\">-seleziona-</option>";
    while(
    $riga=mysql_fetch_array($q)){
    echo
    "<option value=\"".$riga['descrizione']."\">".$riga['descrizione']."</option>";
    }
    //fine while
    echo "</select>";
    }
    //fine if vuota
    }

    echo
    "Nuova città da inserire: <input type='text' name='nuovacitta'>";
    Come potete vedere, stavo cercando di trasformare questo vecchio codice fatto in mysql e funzionante in msqly ma ci sono alcuni intoppi. Le righe che mi danno intoppo sono le seguenti:

    Codice PHP:

    $con
    ->query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");
    $vuota=$con->mysqli_num_rows($con);
    if(
    $vuota > 0){//fa vedere la select solo se ci sono categorie e mostra solo il'input nuovacategoria, in pratica solo la prima volta
    La select dovrebbe essere corretta la seconda riga ossia: "$vuota=$con->mysqli_num_rows($con);" questa è sicuramente sbagliata insieme all'if
    e poi c'è la parte riguardante alwhile che anche quella è sbagliata sicuramente. Mi potreste aiutare a corregerla per favore ??? Grazie.

  2. #2
    Guest

    Predefinito

    1) Ma stai usando mysqli in modo orienteto agli oggetti o procedurale?
    2) Nel while hai lasciato la funzione mysql, non mysqli

  3. #3
    Guest

    Predefinito

    Ciao tampertools,

    Dunque come puoi notare nel codice, stavo cernado di trasformarlo tutto in mysqli che dovrebbe essere "nel modo orientato agli ogetti procedurale". Mi sono dovuto fermare perché non sapevo piú come andare avati. Ecco perchè il ciclo while è rimasto con mysql quello è uni dei blocchi dove non so andare avanti, e anche la condizione è uni dei blocchi. Ki puoi aiutare per favore ???

  4. #4
    Guest

    Predefinito

    Deve essere o orientato agli oggetti o procedurale, mi sembra tu stia facendo un po' di confusione...

    Se non hai mai usato gli oggetti basta (più o meno) che prendi il codice iniziale e sostituisci tutti i mysql_ con mysqli_

    Comunque qui ($conn è la connessione al database che definisci nel file connettimysqli.php?)
    Codice PHP:
    $con->query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");
    $vuota=$con->mysqli_num_rows($con);
    dovrebbe diventare (oggetti)
    Codice PHP:
    $risultato = $con->query("SELECT descrizione FROM tblcategoria ORDER BY descrizione");
    $vuota=$risultato->num_rows();
    oppure (procedurale)
    Codice PHP:
    $risultato = mysqli_query($conn, "SELECT descrizione FROM tblcategoria ORDER BY descrizione");
    $vuota = mysqli_num_rows($risultato);
    Ti lascio un link, dacci un occhiata
    http://forum.html.it/forum/showthrea...hreadid=624870

  5. #5
    Guest

    Predefinito

    Ciao tampertools,

    Credo che il mio sia il metodo procedurale (da dove lo sgamo se è orientato agli ogetti o procedurale ????) Grazie del lin che mi hai inviato e dei chiarimenti. Poi ti volevo chiedere una ltro aiuto su ajax: vorre fare un form di iscrizione con il metodo i dvalidazione daiti diretti. Ossia, quando tu compili lo username, lui controlla direttamente se esiste o men. E così per l'email con il confronto quindi email e ripemail e password insieme al campo rippasw. Il tutto alla fine del form si deve abilitare il tastino invio previo se hai accettato le condizioni sulla privacy e il regolamento. Ho fatto qualcosina ma ovviamente non fa ciò che vorrei io. Ora vorrei sapere da te se mi puoi aiutare oppure no. Grazie.

  6. #6
    Guest

    Predefinito

    Il metodo procedurale o a oggetti è come tu scrivi il codice:

    Queste due funzioni fanno la stessa cosa, ma sono due stili di programmazione diversi
    oggetti
    Codice PHP:
    $conn = new mysqli(/*Dati di connessione*/);
    $risultato = $conn->query(/*Tua query*/);
    procedurale
    Codice PHP:
    $conn = mysqli_connect(/*Dati di connessione*/);
    $risultato = mysqli_query($conn, /*Tua query*/);
    Il codice a oggetti è più chiaro, più facile da dare in mano ad altri, mentre quello procedurale è, secondo me, più diretto.

    PS
    Mi dispiace ma per ajax sono nella tua stessa situazione

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,253

    Predefinito

    Citazione Originalmente inviato da fabiodefe Visualizza messaggio
    Poi ti volevo chiedere una ltro aiuto su ajax: vorre fare un form di iscrizione con il metodo i dvalidazione daiti diretti. Ossia, quando tu compili lo username, lui controlla direttamente se esiste o men. E così per l'email con il confronto quindi email e ripemail e password insieme al campo rippasw. Il tutto alla fine del form si deve abilitare il tastino invio previo se hai accettato le condizioni sulla privacy e il regolamento. Ho fatto qualcosina ma ovviamente non fa ciò che vorrei io. Ora vorrei sapere da te se mi puoi aiutare oppure no. Grazie.
    Se non mostri il sorgente è difficile aiutarti. Magari apri un topic nella sezione javascript.

    Ciao!

  8. #8
    Guest

    Predefinito

    Ciao alemoppo,

    E buona domenica innanzi tutto. Aprirò subito un topic con il sorgente così potete capire quello che vorrei fare. innanzi tutto grazie in anticipo. Spero che mi possiate risolvere questo dilemma che so mesi che ci sto combattendo senza aver concluso niente.

  9. #9
    Guest

    Predefinito

    Ciao Alemoppo e ciao tampertools,


    Il link dove ho postato è il seguente:

    http://forum.it.altervista.org/javas...ml#post1109468

    Potete darmi un'occhiata e vedere se mi potete correggere e aiutare ??? Grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •