$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 на что-то более адекватное
Это не ошибка, но читается не очень-то.

Спустя 1 день, 2 часа, 24 минуты, 24 секунды (27.11.2010 - 22:53) Sh.A.R.c написал(а):
вот опять опа, не отображает (или не впихивает) кирилицу в MSQL (кодировка проставлена)
вот код
php видает :
вот код
$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 |
но в базе там где кирилица пусто.