Visualizzazione risultati 1 fino 10 di 10

Discussione: Errore con le statement sql

  1. #1
    L'avatar di miki92
    miki92 non  connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,224

    Predefinito Errore con le statement sql

    Buonasera.
    Sono ore che ci provo e riprovo ma ricevo continuamente questo errore:

    Fatal error: Call to a member function prepare() on a non-object in
    Il codice in uso :

    Codice PHP:
    function CheckBruteforce($uid){ global $mysqli;
        
    $mv time()-(2*60*60); // 2h
        
    $max 5;
        
        if(
    $stmt $mysqli->prepare("SELECT ic5 FROM ica_slots_me WHERE id = ? AND ic5 > '$mv'")){
            
    $stmt->bin_param('i'$uid);
            
    $stmt->execute();
            
    $stmt->store_result();
            
            if(
    $stmt->num_rows $max){
                return 
    true;
            }else{
                return 
    false;
            }
        }

    A me sembra corretto ma forse la stanchezza mi far dire eresie... mi aiutate?
    Apprezzi l'aiuto? Offrimi un caff!

  2. #2
    Guest

    Predefinito

    Buhhh la scrittura corretta ma dall'errore che mi dava anche ieri a me, potrei ipotizzare che non gli piace la select, quindi mi viene da pensare sei sicuro che riesca a fare questa comparazione?

    ic5 > '$mv'

    Come ti ritorna $mv e come definito il campo ic5?Mi viene da pensare questo...Ciao

  3. #3
    L'avatar di miki92
    miki92 non  connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,224

    Predefinito

    ic5 un VARCHAR (20).

    Se stampo la variabile $mv e la inserisco il valore al posto di essa lo script funziona correttamente.

    Ho provato anche in questi metodi:

    Codice PHP:
    if($stmt $mysqli->prepare("SELECT ic5 FROM ica_slots_me WHERE id = ? AND ic5 > '".$mv."'")){ 

    # 2

    if($stmt $mysqli->prepare("SELECT ic5 FROM ica_slots_me WHERE id = ? AND ic5 > '{$mv}'")){ 
    Ma il risultato lo stesso. Ho pensato cos di cambiare il nome alla variabile ma il problema rimane. Ho anche controllato che essa non sia gi definita... cio... non so pi cosa provare!
    Apprezzi l'aiuto? Offrimi un caff!

  4. #4
    Guest

    Predefinito

    Prova cos

    Codice PHP:
    if($stmt $mysqli->prepare("SELECT ic5 FROM ica_slots_me WHERE id = ? AND ic5 > '" $mv "'")){ 

  5. #5
    L'avatar di miki92
    miki92 non  connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,224

    Predefinito

    Scusa vplaza cosa cambia tra il mio codice ed il tuo? Qualche spazio?
    Comunque nella disperazione totale ho provato e l'errore persiste... non so pi che fare...

    Ho lanciato anche la query (stampata) ed in phpMyAdmin funziona!
    Apprezzi l'aiuto? Offrimi un caff!

  6. #6
    karl94 non  connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,639

    Predefinito

    Puoi riportare la struttura della tabella, in modo da poter riprodurre il problema?
    Comunque a giudicare dal messaggio di errore parrebbe che $mysqli non sia un oggetto, verifica che la connessione vada a buon fine e che la variabile venga popolata correttamente.
    Ultima modifica di karl94 : 29-06-2015 alle ore 03.20.09

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da miki92 Visualizza messaggio
    Scusa vplaza cosa cambia tra il mio codice ed il tuo? Qualche spazio?
    Perdonami hai ragione. Non avevo visto bene.

  8. #8
    L'avatar di miki92
    miki92 non  connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,224

    Predefinito

    Questo il dump della tabella. Ho inserito solo 3 record su 68:

    Codice PHP:
    CREATE TABLE IF NOT EXISTS `ica_slots` (
      `
    idint(11unsigned NOT NULL AUTO_INCREMENT,
      `
    ic5varchar(20NOT NULL,
      
    PRIMARY KEY (`id`)
    ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=;

    INSERT INTO `ica_slots` (`id`, `ic5`) VALUES
    (1'1435599242'),
    (
    2'1435596321'),
    (
    3'1435599863'); 
    $mysqli un oggetto e funziona senza problemi :/
    Apprezzi l'aiuto? Offrimi un caff!

  9. #9
    Guest

    Predefinito

    Miki?

    Select from ica_slots_me e la tabella CREATE TABLE IF NOT EXISTS `ica_slots` ;) un _me di troppo....Ciao

  10. #10
    L'avatar di miki92
    miki92 non  connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,224

    Predefinito

    Hai ragione!
    Il problema quello. Il problema e che esiste anche una tabella che finisce con quel suffisso. Mi chiedo come phpMyAdmin possa eseguire la query nonostante quella tabella sia in un altro database :/

    Comunque grazie... finalmente ho risolto!!!
    Che errore stupido! Scusate e grazie a tutti!
    Apprezzi l'aiuto? Offrimi un caff!

Regole di scrittura

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