Problema creazione tabella database mysql

  • Creatore Discussione Creatore Discussione PaloAlto
  • Data di inizio Data di inizio

PaloAlto

Nuovo Utente
5 Nov 2008
43
0
6
:crying: :book: :dipser:
Ciao a tutti, mi sono appena iscritto al forum perchè avvicinato solo da poco al PHP e ho un problema col database (che ho su Aruba).

Il MySql mi da un messaggio d'errore quando cerco di creare le seguenti tabelle:

mysql_query("CREATE TABLE `commenty` (
`commid` int(5) NOT NULL auto_increment,
`main` tinyint(1) NOT NULL,
`text` text collate utf8_unicode_ci,
`linkurl` text collate utf8_unicode_ci,
`date` datetime NOT NULL,
`text1` text collate utf8_unicode_ci,
PRIMARY KEY (`commid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1")
or die(mysql_error());


mysql_query("CREATE TABLE `adminyy` (
`userid` int(5) NOT NULL auto_increment,
`username` varchar(55) collate utf8_unicode_ci default NULL,
`password` varchar(55) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`userid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1")
or die(mysql_error());

Il messaggio d'errore è il seguente:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'collate utf8_unicode_ci, `linkurl` text collate utf8_unicode

Che sia un problema di compatibilità di caratteri col database?

P.S.

Sto cercando di installare lo script per commenti Comments 1.1 ( http://phpform.net/comment.php )

Qualche anima pia in giro disposta ad aiutarmi?
 
Ho eseguito entrambe le query che hai postato sia tramite browser (utilizzando phpMyAdmin) che tramite uno script PHP ed entrambi i tentativi sono andati a buon fine senza errori. Ho effettuato la prova su un DB mySql su Aruba per cui credo di essermi posto nelle tue stesse condizioni.
Ho notato, nel codice che hai postato, che quando invochi la funzione mysql_query() le passi come parametro solamente la stringa contenente la query e non la connessione al DB. Questo è giusto, ma così facendo PHP tenta di utilizzare la connessione attualmente in uso oppure, se non ve ne è alcuna, essa tenta di stabilire una connessione utilizzando mysql_connect() senza argomenti. Sei sicuro di aver aperto una connessione al DB in precedenza?
 
Leva tutti i "collate utf8_unicode_ci" e riprova.

Levati tutti (ci avevo già provato) ma... viene fuori questo messaggio:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=utf8 AUTO_INCREMENT=1' at line 9
 
Certo che si, sono collegato al mysql con PhpMyAdmin di Aruba...

Ma l'errore te lo da phpMyAdmin oppure uno script PHP perchè l'essere collegato al DB trampite phpMyAdmin non centra nulla con lo stabilire una connessione al DB tramite script PHP.
Ho riprovato sul mio ambiente e tutto funziona correttamente.
Perchè non posti tutto lo script PHP?
 
Ho scaricato ed installato correttamente lo script. Non mi ha dato alcun errore. Tra l'altro ho effettuato la prova su hosting aruba e DB mySql.
 
Finalmente ci sono riuscito anch'io ma ho dovuto cancellare tutti i segmenti di codice relativi al carattere cioè:
"collate utf8_unicode_ci"
e la seguente parte di codice:
"DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1".
Mi ha installato il database ma ora bisogna che vedo se funziona.
Più tardi vi aggiorno.
 
Installato......
Però il form compare, posso inserire i commenti... e il database li prende pure ma..... magia delle magie.....: i commenti inseriti non compaiono nella pagina.
Roba da matti...
Queste cose capitano solo a me.....
 
Ultima modifica:

Discussioni simili