No conecta bien a db, o algo pasa.. tambien da un error al cargar la db

Iniciado por XXXXXX, 16 Mayo 2010, 08:17 AM

0 Miembros y 1 Visitante están viendo este tema.

XXXXXX

http://www.ynsekai.co.cc/series/neongenesisevangelion/index.php

como pueden ver, abajo del todo, hay un sitio para comentar, en localhost me funciona que ni rodado...

pero en el host, no funciona ni patras!!

e editado todas las conexiones bien, e subido las db y todo bien, acentuando que.

al cargar la db chat me dice,  Unknown table engine 'latin1' .

logre cargar la misma pero con otras tablas de mas y no me dio error, no se porque sera, luego me dice ademas de eso, las tablas que  tengo ya cargadas..


No index defined!


no tengo ni idea de porque tantos errores en el host, quiza sera porque es una *****, no se ojala alguno tenga la solucion porque de veras me estoy llenando los.... de esto...

El sistema que utilizo...

CREATE TABLE  `chat` (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
) TYPE = latin1;


^Tifa^

Citaral cargar la db chat me dice,  Unknown table engine 'latin1' .

Fijate que idioma soporta el motor MySQL del host ya que en tu localhost le definiste a esa o otras tablas que estas utilizando, lo definiste con el idioma 'latin1' que probablemente no se compilo ni da soporte en el MySQL del host.

Para ver cuales idiomas tiene con soporte el MySQL del host, si logras conectarte por phpmyadmin o cualquier cliente, verificas con el comando SQL:

Código (sql) [Seleccionar]

SHOW CHARSET


Pero en caso que no puedas hacer lo anterior, cambiale el idioma a tus tablas o tabla para que las subas al host, generalmente el idioma 'utf8' viene activado en el motor, asi que cambiale el soporte de idioma a tus tablas asi:


ALTER TABLE `NOMBRE_TABLA` DEFAULT CHARSET = 'utf8'


Y cargarlas al host haber como van.

CitarNo index defined!

Los indices en una tabla o tablas son como los indices de los libros, se utilizan para acelerar las respuestas de consultas de lectura, tu tabla no muestra ningun indice definido, deberias elegir un campo y definirle un Primary Key (que funciona como un indice).


XXXXXX

Por lo que veo si soporta.... ahora el porqe da error no se...
Pasa algo si no defino indice? funcionara igual?

otra cosa, el host soporta esto....


Charset Description Default collation Maxlen
big5 Big5 Traditional Chinese big5_chinese_ci 2
dec8 DEC West European dec8_swedish_ci 1
cp850 DOS West European cp850_general_ci 1
hp8 HP West European hp8_english_ci 1
koi8r KOI8-R Relcom Russian koi8r_general_ci 1
latin1 cp1252 West European latin1_swedish_ci 1
latin2 ISO 8859-2 Central European latin2_general_ci 1
swe7 7bit Swedish swe7_swedish_ci 1
ascii US ASCII ascii_general_ci 1
ujis EUC-JP Japanese ujis_japanese_ci 3
sjis Shift-JIS Japanese sjis_japanese_ci 2
hebrew ISO 8859-8 Hebrew hebrew_general_ci 1
tis620 TIS620 Thai tis620_thai_ci 1
euckr EUC-KR Korean euckr_korean_ci 2
koi8u KOI8-U Ukrainian koi8u_general_ci 1
gb2312 GB2312 Simplified Chinese gb2312_chinese_ci 2
greek ISO 8859-7 Greek greek_general_ci 1
cp1250 Windows Central European cp1250_general_ci 1
gbk GBK Simplified Chinese gbk_chinese_ci 2
latin5 ISO 8859-9 Turkish latin5_turkish_ci 1
armscii8 ARMSCII-8 Armenian armscii8_general_ci 1
utf8 UTF-8 Unicode utf8_general_ci 3
ucs2 UCS-2 Unicode ucs2_general_ci 2
cp866 DOS Russian cp866_general_ci 1
keybcs2 DOS Kamenicky Czech-Slovak keybcs2_general_ci 1
macce Mac Central European macce_general_ci 1
macroman Mac West European macroman_general_ci 1
cp852 DOS Central European cp852_general_ci 1
latin7 ISO 8859-13 Baltic latin7_general_ci 1
cp1251 Windows Cyrillic cp1251_general_ci 1
cp1256 Windows Arabic cp1256_general_ci 1
cp1257 Windows Baltic cp1257_general_ci 1
binary Binary pseudo charset binary 1
geostd8 GEOSTD8 Georgian geostd8_general_ci 1
cp932 SJIS for Windows Japanese cp932_japanese_ci 2
eucjpms UJIS for Windows Japanese eucjpms_japanese_ci 3


Para terminar, si cambio el caracter, tendre que cambiar algo en el script del chat, o en el php?

saludos

^Tifa^

Ohhhh  :o   :o   :o

Error de mi parte al responderte... no me fije muy bien en esto:

CitarCREATE TABLE  `chat` (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
) TYPE = latin1;

buta, TYPE es obsoleto (No se que version de MySQL tienes, pero aunque lo acepte pasara a ser obsoleto) mira, TYPE es el tipo de motor de almacenamiento que quieres designarle a una tabla , tipo de motor NO idioma, y en este caso tu estas diciendole que esa tabla esta bajo el motor de almacenamiento 'latin1'   :xD   :xD  el cual obviamente eso no existe, no como motor de almacenamiento  :xD  si como idioma  :rolleyes:

Altera la tabla:

Código (sql) [Seleccionar]

ALTER TABLE `NOMBRE_TABLA` ENGINE = MOTOR_ALMACENAMIENTO


Sustituye la palabra motor_almacenamiento, por el motor de almacenamiento que quieres utilizar, ya sea Myisam, innodb.. (hay mas pero no siempre estan activos en el servidor todo dependera como se compilo) pero los bases que generalmente si vienen activos son los 2 previamente mencionados. (Aunque hay ocasiones que InnoDB viene desactivado) pero tu haz el intento.





XXXXXX

entonces seria algo asi?


CREATE ALTER TABLE `mytable` ENGINE = Myisam (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
)


o podria ponerlo asi?

CREATE TABLE  `chat` (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
) TYPE = MyISAM;

^Tifa^

Seria algo asi:

CitarCREATE TABLE  `chat` (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
) ENGINE = MyISAM;

Ve olvidandote de TYPE ese comando se utilizaba en MySQL 4.x y hubieron versiones (la 5.1 y la 5.0) que en scripts de PHP rebotaban y no creaban las tablas porque TYPE es obsoleto y estas versiones no lo reconocian.

Ahora si tienes una MySQL viejita intentalo con TYPE pero actualmente se usa ENGINE en su lugar.

En caso de que te decidas por hacer lo siguiente mejor:

CitarCREATE TABLE  `chat` (

`fecha` DATETIME NOT NULL DEFAULT  '0000-00-00 00:00:00',
`usuario` VARCHAR( 15 ) NOT NULL DEFAULT  '',
`mensaje` TEXT NOT NULL
)

Esa tabla por defecto se almacenara en el motor de almacenamiento configurado por defecto en el fichero de configuracion de MySQL de tu localhost (en caso que hagas la tabla aca en localhost), por defecto suele ser Myisam (al menos que hayas modificado esto tu). Pero si en un muyyy remoto caso o condicion en el MySQL de host (el remoto) solo se soportara InnoDB (solo es un ejemplo) ya sabes lo que tienes que hacer... pasarle un ALTER alla de forma remota y cambiarle el ENGINE.

XXXXXX

VALE!! me envia los mensajes a la DB pero no los muestra en la pagina...


esto supongo que sera por culpa del php no?