Visualizzazione dei risultati da 1 a 7 su 7

Discussione: errori con le class

  1. #1

    errori con le class

    Premettendo che sono un novellino, ma perche non mi funziona, l'errore sta alla riga 32 $data = new MysqlClass();

    <?php

    // inclusione del file contenente la classe
    class MysqlClass
    {
    // parametri per la connessione al database
    private $nomehost = "localhost";
    private $nomeuser = "root";
    private $password = "";
    private $nomedb = "mioblog";

    // controllo sulle connessioni attive
    private $attiva = false;

    // funzione per la connessione a MySQL

    public function connetti()
    {
    if(!$this->attiva)
    {
    $connessione = mysql_connect($this->nomehost,$this->nomeuser,$this->password);
    $selezione = mysql_select_db($this->nomedb,$connessione) or die (mysql_error());
    }else{
    return true;
    }
    }
    }

    // inclusione del file contenente la classe
    include "funzioni_mysql.php"
    // istanza della classe
    $data = new MysqlClass();
    // connessione a MySQL
    $data->connetti();

    // creazione della tabella per il login
    $data->query("CREATE TABLE `login` (`id_login` INT( 1 ) NOT NULL AUTO_INCREMENT ,`username_login` VARCHAR( 10 ) NOT NULL ,`password_login` VARCHAR( 40 ) NOT NULL ,PRIMARY KEY ( `id_login` ))");

    // creazione della tabella per i post
    $data->query("CREATE TABLE `post` (`id_post` INT( 5 ) NOT NULL AUTO_INCREMENT ,`titolo_post` VARCHAR( 255 ) NOT NULL ,`testo_post` TEXT NOT NULL ,`autore_post` VARCHAR( 30 ) NOT NULL ,`data_post` DATE NOT NULL ,PRIMARY KEY ( `id_post` ) )");

    // creazione della tabella per i commenti
    $data->query("CREATE TABLE `commenti` (`id_commento` INT( 6 ) NOT NULL AUTO_INCREMENT ,`id_post` INT( 5 ) NOT NULL ,`autore_commento` VARCHAR( 30 ) NOT NULL ,`testo_commento` TEXT NOT NULL ,`data_commento` DATE NOT NULL ,`approvato` ENUM( '0', '1' ) NOT NULL ,PRIMARY KEY ( `id_commento` ) )");

    // disconnessione
    $data->disconnetti();

    ?>

  2. #2
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    vabè ma che errore ti da

  3. #3
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    l'errore sta alla riga 32 $data = new MysqlClass();
    l'errore che ti segnala è per la mancanda di un ; sopra quella riga, l'include

  4. #4

    sorry, avevo dimenticato di togliervi la finzione include, perche vi ho riportato anche il codice della connessione al db, cmq il codice di errore è:

    Call to undefined method MysqlClass::query() in C:\xampp\htdocs\lezioni\creatb.php on line 33, pero nel caso del codice di prima e riferita alla riga dove si crea la prima tabella.

    $data->query("CREATE TABLE `login` (`id_login` INT( 1 ) NOT NULL AUTO_INCREMENT ,`username_login` VARCHAR( 10 ) NOT NULL ,`password_login` VARCHAR( 40 ) NOT NULL ,PRIMARY KEY ( `id_login` ))");


    aiutatemiiiiiii

  5. #5
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    bhè, dal messaggio di errore è chiaro: nella classe non c'è una funzione 'query'.
    non faresti prima ad utilizzare mysqli?

  6. #6
    illuminami, in che modo potrei.

  7. #7
    nella classe non c'è la funzione query da cui l'errore

    puoi usare mysql/mysqli/pdo e una tua classe. per i primi tre c'è tutta la loro spiegazione nel manuale di php.net
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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 © 2026 vBulletin Solutions, Inc. All rights reserved.