[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не создаеться таблица в MSQL посредством PHP
Sh.A.R.c
$viewer_id = '185478';
$pre_id = '7';
$predmet = 'predme';
$koef = '8';
$bal = '78';
$table_name = $viewer_id;
 
    mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
    mysql_select_db($db_name) or die (mysql_error());
    mysql_query("SET NAMES 'utf8'");
 
    $query = 'CREATE TABLE IF NOT EXISTS `'.$table_name.'` (`uid` INT(5) NOT NULL,`predmet` CHAR(200) NOT NULL, `koef` INT(5) NOT NULL, `bal` REAL(5) NOT NULL,  PRIMARY KEY(`predmet`));';
    $sql = @mysql_query($query);
    echo "OK";
   
    $query = 'INSERT INTO `'.$table_name.'` (`uid`,`predmet`, `koef`, `bal`) VALUES ("'.$pre_id.'","'.$predmet.'","'.$koef.'","'.$bal.'") ON DUPLICATE KEY UPDATE  `predmet`="'.$predmet.'", `koef`="'.$koef.'", `bal`="'.$bal.'";';
    $sql = @mysql_query($query);
    echo "OK";


после запуска файла пишет "OKOK" но в phpMyAdmin табл. нет[/quote]



Спустя 5 минут, 16 секунд (26.11.2010 - 18:39) writer_88 написал(а):
всё он у тебя правильно пишет потомучто echo OK OK никак не зависит от предыдущих операций

Спустя 1 минута, 5 секунд (26.11.2010 - 18:40) writer_88 написал(а):
убери @ перед mysql_query

Спустя 2 минуты (26.11.2010 - 18:42) sharki написал(а):
А ты пробовал сначало создать посредством PHPMyadmin эту табличку и стырить код оттуда, вставить к себе и заменить нужные имена на свои переменные, или ты так сделал?

Если так,то перепроверь, скопируй со своего кода сам запрос и замени свои переменные значениями которые ты бы вставил посредством пхп и посмотри что выдаст)

Спустя 4 минуты, 17 секунд (26.11.2010 - 18:46) DmitryOpalev написал(а):
А mysql_error() ?

Спустя 33 минуты, 53 секунды (26.11.2010 - 19:20) Sh.A.R.c написал(а):
Цитата (sharki @ 26.11.2010 - 15:42)
А ты пробовал сначало создать посредством PHPMyadmin эту табличку и стырить код оттуда, вставить к себе и заменить нужные имена на свои переменные, или ты так сделал?

Если так,то перепроверь, скопируй со своего кода сам запрос и замени свои переменные значениями которые ты бы вставил посредством пхп и посмотри что выдаст)

спасибо,

ошибка здеся "`bal` REAL(5) NOT NULL"

заменил на "`bal` INT(5) NOT NULL" и заработало

но почему?

Спустя 6 минут, 26 секунд (26.11.2010 - 19:26) writer_88 написал(а):
про типы данных почитай

Спустя 1 час, 2 минуты, 1 секунда (26.11.2010 - 20:28) sergeiss написал(а):
И заодно замени имя столбца bal на что-то более адекватное smile.gif Это не ошибка, но читается не очень-то.

Спустя 1 день, 2 часа, 24 минуты, 24 секунды (27.11.2010 - 22:53) Sh.A.R.c написал(а):
вот опять опа, не отображает (или не впихивает) кирилицу в MSQL (кодировка проставлена)

вот код


$viewer_id = '131313';
$predmet = 'абв#опр#ололо';
$koef = '5#48#7';
$bal = '85#5#85';
$table_name = $viewer_id;

$pr=split("#", $predmet);
$ko=split("#", $koef);
$ba=split("#", $bal);


mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
mysql_query("SET NAMES 'utf8'");

$query = 'CREATE TABLE IF NOT EXISTS `'.$table_name.'` (`uid` INT(5) NOT NULL,`predmet` VARCHAR(200) NOT NULL, `koef` INT(5) NOT NULL, `bal` INT(5) NOT NULL, PRIMARY KEY(`uid`)) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;';
$sql = @mysql_query($query) or die (mysql_error());

for ($i=0; $i<3; $i++){
$query = 'INSERT INTO `'.$table_name.'` (`uid`,`predmet`, `koef`, `bal`) VALUES ("'.$i.'","'.$pr[$i].'","'.$ko[$i].'","'.$ba[$i].'") ON DUPLICATE KEY UPDATE `predmet`="'.$pr[$i].'",`koef`="'.$ko[$i].'", `bal`="'.$ba[$i].'";';
$sql = @mysql_query($query) or die (mysql_error());
echo "$i - $pr[$i] - $ko[$i] - $ba[$i]<br/>";
}


php видает :

Цитата
0 - абв - 5 - 85
1 - опр - 48 - 5
2 - ололо - 7 - 85


но в базе там где кирилица пусто.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.