• User Attivo

    Creare database

    Ciao a tutti

    Ho un problema con uno script in php. Devo creare un database e fin qui tutto ok, solo che io sono abituato con i comodi passaggi di installazione dove basta creare un db con phpmyadmin e poi l'installazione fa tutto da sola.

    Qui invece, nel file di istruzioni, mi chiede di lanciare il file .sql che c'è nel pacchetto e per farlo ho scaricato SQL-Front. Ma non capisco come cavolo funziona :mmm: Le tabelle sembra crearle, ma sto nuovo database dove va a finire?

    Poi non capisco se in teoria dovrebbe impostarmi il file di configurazione php da solo o devo farlo manualmente...nel readme non c'è scritto nulla al riguardo.

    Come ci si muove in questi casi??


  • User Attivo

    Ciao Alexandro!

    eh si è vero ci sono i comodi passaggi di phpmyadmin....

    comunque riguardo il tuo problema: il file .sql, che contiene tutti i dati delle tabelle del database etc..., per aprirlo ti conviene (e credo si faccia proprio così 🙂 ) importarlo nel database da phpmyadmin: c'è una funzione apposta!

    Accedi a phpmyadmin, e fai "IMPORTA", poi selezioni il sorgente e te lo importa da solo 😉

    Infatti non credo che ti serva in questo caso SQL-Front...

    Riguardo il file d configurazione, dipende... se insersci i dati dal browser, mi sa ch si modifica da solo, mentre se nn fai niente (come credo, dal momento che ti addirittura ti fa importare le tabelle a mano!), mi sa che lo devi proprio editare tu 😉

    Ma quello script non lo potevano fare un po' meglio, in modo che il database e tutto lo creasse da solo con una pagina web php che si connette da sola con le impostazioni che un utente inserisce nel config.php ?

    dic he script si parla? semai provo a darti una mano io se mi posti il codice...

    p.s. ho appena imparato il php!


  • User Attivo

    Grazie della risposta Oliviero 😉

    Ho provato a creare un nuovo db con phpmyadmin e importare il file .sql ma mi restituisce qualche errore di tabella. E' un bel casotto perchè non so proprio come orientarmi.

    Beh, non ho idea che codice postare perchè lo script consta di oltre 50 file. Se ti va puoi dare un occhiata tu stesso

    *downloads.sourceforge.net/stammisinternet/stammis_overall14.zip?modtime=1208763885&big_mirror=0

    *Io lavoro in un ambiente xampp ma non credo che questo possa essere un problema, no?


  • Consiglio Direttivo

    La procedura è giusta, che errori ti restituisce?
    Vediamo di chiarire dove sta il problema 😉


  • User Attivo

    Diciamo che nell'insieme gli errori che ottengo sono 2 + un'incertezza:

    1. Questo è il messaggio che restituisce phpmyadmin dopo aver importato il file .sql

    Errore

     **query SQL:**     
              -- 
    

    -- Data i tabell tbusers

    INSERT INTO tbusers
    VALUES ( 1, 'demo', 'demo', 'demo', '', '', 'N', '', '', 'N', 'Y', 'Y', 0, 0, '0000-00-00', '0000-00-00', 'N', 'Y', 'Y' ) ;

      **Messaggio di MySQL: ** 
    

    #1136 - Column count doesn't match value count at row 1 2. Se mi collego all'index.php ecco cosa vedo:

    Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host '<name of MySQL Server>' (11004) in C:\xampp\htdocs\cms\phpfunctions\opendb.php on line 24

    Warning: mysql_select_db() [ function.mysql-select-db]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\cms\phpfunctions\opendb.php on line 26

    Warning: mysql_select_db() [ function.mysql-select-db]: A link to the server could not be established in C:\xampp\htdocs\cms\phpfunctions\opendb.php on line 26

    Warning: mysql_real_escape_string() [ function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 10

    Warning: mysql_real_escape_string() [ function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 10

    Warning: mysql_real_escape_string() [ function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 10

    Warning: mysql_real_escape_string() [ function.mysql-real-escape-string]: A link to the server could not be established in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 10

    Warning: mysql_query() [ function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 70

    Warning: mysql_query() [ function.mysql-query]: A link to the server could not be established in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php on line 70

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\cms\phpfunctions\dbsafety.php****71 on line
    3. (l'incertezza). Nel file readme non dice nulla su come impostare il file di configurazione .php, quindi presumo che qualche passaggio che io ignoro dovrebbe farlo in automatico...Credo che gli errori precedenti dipendano anche da questo. Il file è l'opendb.php:

    [php]<?php

    static $server;

    static $databas;

    static $anvandare;

    static $losen;

    static $conn_id;

    $server = "<name of MySQL Server>"; // mySQL servern.

    $databas = "<name of database>";

    //Set REAL username and password here
    //
    $anvandare = "<host>";
    $losen = "<password>";

    $conn_id = mysql_connect($server, $anvandare, $losen);

    mysql_select_db ("$databas");

    ?>[/php]

    Grazie dell'aiuto ragazzi 😉


  • User Attivo

    Allora, cerco di risponderti per gradi 😉

    1. l'errore è nel nome della tabella, altrimenti prova a inserire le stringhe in un database fresco poi aggiungere le stringhe dal vecchio, esportare e rimpiazzare nel vecchio

    Controlla di non aver inserito nessuna tabella di prova...

    1. SICURAMENTE a causa del file opendb.php (Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host '<name of MySQL Server>' (11004) in C:\xampp\htdocs\cms\phpfunctions\opendb.php on line <b>24

    3 fai come ti dico:

    [php]

    <?php

    static $server;

    static $databas;

    static $anvandare;

    static $losen;

    static $conn_id;

    $server = "<name of MySQL Server>"; // mySQL servern. DA METTERE L'IP DELL'HOST, CHE TI DA IL PROVIDER QUANDO ACCEDI AL PHPMYADMIN

    $databas = "<name of database>"; ---NOME DEL DATABASE!!! quello specifico (es. Sql151546121_2)

    //Set REAL username and password here
    //
    $anvandare = "<host>"; ---USERNAME DEL DATABASE, QUELLO GENERICO PER ACCEDERE
    $losen = "<password>"; ---PASSWORD DEL DATABASE

    $conn_id = mysql_connect($server, $anvandare, $losen);

    mysql_select_db ("$databas");

    ?>

    [/php]dovrebbe andare 😉


  • User Attivo

    Oliviero perdona la mia ignoranza ma mi sono bloccato già al punto 1 😄 Non ho capito bene cosa dovrei fare.
    Io comunque non ho la necessità di importare nuove tabelle in un db già esistente, ma di crearne uno nuovo importanto quel file .sql . :mmm: Come dovrei risolvere se il problema è nel nome della tabella?

    Mi stavo chiedendo, è possibile che lo script richieda un nome prestabilito per il database o posso tranquillamente inventarmene uno io?


  • User Attivo

    Sicuramente lo script non ha bisogno di nomi predefiniti.

    Allora prova a vedere che succede a fare come dico nel punto 3... poi dimmi


  • User Attivo

    Ok risolto 😉 Ho fatto come hai detto e funziona. Resta però il problema relativo a quella query che restituisce l'errore. Dovrei inserirla perchè riguarda l'account dell'amministratore.
    La query è questa:

    INSERT INTO tbusers VALUES (1, 'demo', 'demo', 'demo', '', '', 'N', '', '', 'N', 'Y', 'Y', 0, 0, '0000-00-00', '0000-00-00', 'N', 'Y', 'Y');Ma quando cerco di inserirla nel database mi da sempre lo stesso errore:

    **Errore

    ** query SQL:
    INSERT INTO tbusers
    VALUES ( 1, 'demo', 'demo', 'demo', '', '', 'N', '', '', 'N', 'Y', 'Y', 0, 0, '0000-00-00', '0000-00-00', 'N', 'Y', 'Y' )
    **Messaggio di MySQL: **
    #1136 - Column count doesn't match value count at row 1

    Come posso fare?


  • User Attivo

    A mio parere è un problemino di "conteggio"... ovvero magari la tabella ha 20 colonne, mentre tu inseisci solo 19 VALUES.. prova a contare e dimmi.

    se nn è cosi, prova a specificare ogni value in DOVE va

    es. INSERT INTO 'tbusers' (ciao, nome, telefono....eccc) VALUES (1, '...'...);
    L'errore direbbe "il numero della colonna nn corrisponde con il valore (credo addirittura "numero1")....quindi controlla bene le tabelle, i valori e le loro relazioni...


  • User Attivo

    Ti ringrazio tantissimo Oliviero. Anche se ho appena scoperto che sto script è più un aborto che un cms, ho imparato qualcosa in più sulle funzioni di mysql 😉

    Mi sei stato di grande aiuto! Grazie 1000!


  • User Attivo

    E' un piacere 😉