Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: errore con mysqli

  1. #1

    errore con mysqli

    voglio usare mysqli visto che siete in tanti a consigliarmelo, purtroppo mi da questo errore
    Warning: mysqli_connect(): (HY000/1044): Access denied for user 'laboraccio'@'localhost' to database 'mylaboraccio' in /membri/laboraccio/debug/mysqli/server.php on line 4

    Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /membri/laboraccio/debug/mysqli/server.php on line 5

    Notice: Undefined index: sms in /membri/laboraccio/debug/mysqli/server.php on line 13

    Notice: Undefined index: sessione in /membri/laboraccio/debug/mysqli/server.php on line 15

    Notice: Undefined variable: conex in /membri/laboraccio/debug/mysqli/server.php on line 47

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /membri/laboraccio/debug/mysqli/server.php on line 47

    Warning: mysqli_error() expects exactly 1 parameter, 0 given in /membri/laboraccio/debug/mysqli/server.php on line 47



    Codice PHP:
    /*index.php*/
                        
    <form method="post" action="server.php">

                            <
    tr>
                                <
    td><input type="text" name="username" id="username" required></td>
                            </
    tr>    
                            <
    tr>    
                                <
    td><input type="password" name="password" placeholder="password"></td>
                            </
    tr>
                            <
    tr>
                                <
    td><input type="radio" name="opzioneUtente" value="registrareUtente">registrasi</td></tr>
                            <
    tr>
                                <
    td><input type="radio" name="opzioneUtente" value="loggareUtente" checked>accedere</td>
                            </
    tr>
                            <
    tr>
                                <
    td><input type="submit" value="invio"></td></tr>
                        </
    form
    Codice PHP:
    <?php
    /*server.php*/


     
    error_reporting(E_ALL);
    session_start();
    $conex mysqli_connect('localhost''root'''"mylaboraccio");
    mysqli_select_db("my_laboraccio"$conex);

    /*variabili di index.php*/
    $uname $_POST['username'];
    $pw =  $_POST['password'];
    $opzioneUtente $_POST['opzioneUtente'];

    /*variabili di profilo.php */
    echo $_GET['sms'];

    if(
    $_POST['sessione'] == "logout") {
        
    session_destroy();
        
    /*header("Refresh:10; url=http://www.laboraccio.altervista.org/debug/index.php");*/
        
    echo "sessione scaduta";
    }
        function 
    registraUtente(){
            global 
    $uname;
            echo 
    $uname;
            global 
    $pw;
            
    $sql "SELECT * FROM utenti WHERE username='$uname'";
            
    $resource mysqli_query($conex$sql) or die (mysql_error());
            
    $result mysqli_num_rows($conex$resource);
            echo 
    $result;
            if(
    $result == 0) {
                
    $sql "INSERT INTO utenti (id, username, password) VALUES (NULL, '$uname', '$pw')";
                
    mysql_query($sql);
                
    header("Refresh:10; url=http://www.laboraccio.altervista.org/debug/index.php");
                  echo 
    "nuovo utente creato";
     
                echo 
    "registrazione completata";
            }
            elseif(
    $result == 1){
                  
    header("Refresh:10; url=http://www.laboraccio.altervista.org/debug/index.php");
                echo 
    "username gia in uso, riprova con un altro";

               }
        }
        
            function 
    loggareUtente(){
            global 
    $uname;
            global 
    $pw;
            
    $sql "SELECT * FROM utenti WHERE username='$uname' AND password='$pw'";
            
    $resource mysqli_query($conex$sql) or die (mysqli_error());
            
    $result mysqli_num_rows($conex$resource);
            if(
    $result == 1) {
                
    $_SESSION['username'] = $uname;
                
    $_SESSION['password'] = $pw;
                
    header("Location:http://www.laboraccio.altervista.org/debug/profilo.php");


            
            }
            elseif(
    $result == 0) {print "utente non valido";  
            
    header("Refresh:10; url=http://www.laboraccio.altervista.org/debug/index.php");
            }

        
        }


    if(
    $opzioneUtente == 'registrareUtente'){
        
    registraUtente();
    }
    elseif(
    $opzioneUtente == "loggareUtente") {
        
    loggareUtente();
    }

    ?>
    Codice PHP:
    */profilo.php*/

    <?php
    error_reporting
    (E_ALL);
    session_start();

    if(isset(
    $_SESSION['username'])){
    echo 
    $_SESSION['username'];
    }

    else if(!isset(
    $_SESSION['username'])){
        
    header("location: http://laboraccio.altervista.org/debug/index.php");

    }
    ?>

    <html>
        <head>
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta charset="utf-8">
            <style>
            div#chat {
                width:500px;
                height:500px;
                border: solid black 2px;
            }
            div#messaggio input[type="text"] {
                width:100%;
                padding:10px;
            }
            </style>
        </head>
            <script type="text/javascript">
        function sendSms(){
            sms = document.getElementById("sms").value;
            chat = document.getElementById("chat");
            console.log(sms);
            ajax = new XMLHttpRequest();
            
            ajax.open("get", "server.php?sms="+sms, true);
            ajax.send();
            ajax.onreadystatechange = function(){
                if(ajax.readyState == 4 && ajax.status == 200){
                    console.log("ajax: "+ajax.responseText);
                    chat.innerHTML = ajax.responseText;
                }
            }
            
         }
            
            
            
        </script>
        <body>
            <div id="chat"></div>
            <div id="messaggio">
                <input type="text" name="sms" id="sms" placeholder="inserisci il tuo messaggio qui">
                <button onclick="sendSms()" id="submit">invio</button>                
            </div>
            <div>
            
                <form method="post" action="server.php">
                    <input type="radio" name="sessione" value="logout">logout
                    <input type="submit" value="invio">
                </form>
            </div>
        <body>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    E' scritto nel messaggio d'errore, è abbastanza chiaro, bisogna imparare a leggerli per bene, non solo vedere che c'è un errore.

    Ti dice:
    Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in...

    Quindi che significa?
    Significa che come primo parametro vuole una qualche variabile riferita a mysqli (expects parameter 1 to be mysqli), invece tu gli stai passando una stringa (string given).

    Cosa si può fare?
    Già così dovrebbe essere chiaro l'errore leggendo la tua istruzione

    mysqli_select_db("my_laboraccio", $conex);

    Ma se non dovesse bastare si va sulla documentazione di mysqli_select_db() e lì, nella sezione, "Parameters" vedere cosa devi passargli, nell'ordine: link (il tuo $conex) e dbname (il nome del database da selezionare).

    In sostanza, hai invertito i parametri nella chiamata della funzione.

    Stessa procedura per risolvere gli altri.
    Ultima modifica di Alhazred; 07-10-2018 a 12:40

  3. #3
    ho fatto la modifica in questo modo
    Codice PHP:
    <?php
     error_reporting
    (E_ALL);
    session_start();
    $conex mysqli_connect('localhost''root'''"mylaboraccio");

    mysqli_select_db($conex'my_laboraccio');

    $sql "SELECT * FROM utenti";
    $resource mysqli_query($conex$sql);

    echo 
    mysqli_num_rows($conex$sql);
    ?>
    e mi spuntano ancora sti errori


    Warning: mysqli_connect(): (HY000/1044): Access denied for user 'laboraccio'@'localhost' to database 'mylaboraccio' in /membri/laboraccio/debug/mysqli/server.php on line 4

    Warning: mysqli_select_db() expects parameter 1 to be mysqli, boolean given in /membri/laboraccio/debug/mysqli/server.php on line 6

    Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /membri/laboraccio/debug/mysqli/server.php on line 9

    Warning: mysqli_num_rows() expects exactly 1 parameter, 2 given in /membri/laboraccio/debug/mysqli/server.php on line 11
    ?>

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Di nuovo: leggi i messaggi d'errore

    Warning: mysqli_connect(): (HY000/1044): Access denied for user 'laboraccio'@'localhost' to database 'mylaboraccio'

    Ti sta dicendo che la connessione è fallita (Access denied), quindi a $conex è assegnato il valore false (leggi la documentazione di myslqi_connect() ), infatti ti dice che alle funzioni seguenti gli stai passando un booleano.

    Assicurati che i dati per accedere al db siano corretti, secondo me il nome del db è sbagliato.
    Edit: il codice che posti penso che non sia lo stesso che usi, l'errore dice che l'utente "laboraccio" ha avuto l'accesso negato, invece nel tuo codice postato l'utente si chiama root.

    P.S. se il nome del db lo passi a mysqli_connect() è inutile poi chiamare anche mysqli_select_db(), il db lo hai già indicato in fase di connessione.
    Ultima modifica di Alhazred; 07-10-2018 a 13:32

  5. #5
    ho riaggiusto il codice in questo modo
    Codice PHP:
    <?php
     error_reporting
    (E_ALL);
    session_start();
    $host "localhost";
    $username "root";
    $password "";
    $db "my_laboraccio";

    $conex mysqli_connect($host$username$password$db);


    $sql "SELECT * FROM utenti";
    $resource mysqli_query($conex$sql);

    echo 
    mysqli_num_rows($conex$sql);
    ?>
    output

    Warning: mysqli_num_rows() expects exactly 1 parameter, 2 given in /membri/laboraccio/debug/mysqli/server.php on line 15
    ?>

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Niente, proprio non ce la fai.

    LEGGI I MESSAGGI D'ERRORE!

    Che ti sta dicendo questo messaggio?

  7. #7
    bene, dice di passarli solo un parametro giusto?? ho fatto cosi e mi da sempre un errore

    Codice PHP:
    <?php
     error_reporting
    (E_ALL);
    session_start();
    $host "localhost";
    $username "root";
    $password "";
    $db "my_laboraccio";

    $conex mysqli_connect($host$username$password$db);


    $sql "SELECT * FROM utenti";
    $resource mysqli_query($conex$sql);

    echo 
    mysqli_num_rows($sql);
    ?>
    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, string given in /membri/laboraccio/debug/mysqli/server.php on line 15

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    E questo nuovo messaggio che dice?

  9. #9
    be dice che si aspetta solo un parametro in quella funzione, io li ho dato solo uno.. qual' e il problema?

  10. #10
    stavo sbagliando variabile, comunque mi sembra strano che mi stampi a video anche il tag di chiusura ?>

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.