Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запись данных в базу данных
 
 автор: Жва4ка   (15.02.2007 в 15:15)   письмо автору
 
 

Здраствуйте, у меня проблема! Я пытаюсь написать код, который по вводу названия БД, логина, пароля и хоста создаёт таблицу(ы)б но у меня ничего не получается! А скрипт даже ошибок не выдаёт. В чём проблема?

Вот собственно и код:

<html>
<head><title>Connect to database</title>
</head>
<body>
<?php
define
( "_MOS_NOTRIM", 0x0001 );
define( "_MOS_ALLOWHTML", 0x0002 );
function 
mosGetParam( &$arr, $name, $def=null, $mask=0 ) {
$return = null;
    if (isset( 
$arr[$name] )) {
        if (
is_string( $arr[$name] )) {
            if (!(
$mask&_MOS_NOTRIM)) {
                
$arr[$name] = trim( $arr[$name] );
            }
            if (!(
$mask&_MOS_ALLOWHTML)) {
                
$arr[$name] = strip_tags( $arr[$name] );
            }
            if (!
get_magic_quotes_gpc()) {
                
$arr[$name] = addslashes( $arr[$name] );
            }
        }
        return 
$arr[$name];
    } else {
        return 
$def;
    }
}

$DBhostname =  mosGetParam( $_POST, 'DBhostname', '' );
$DBusername =  mosGetParam( $_POST, 'DBusername', '' );
$DBpassword =  mosGetParam( $_POST, 'DBpassword', '' );
$DBdatabase =  mosGetParam( $_POST, 'DBdatabase', '' );

if(isset(
$_POST['submit'])) {
    
$db = mysql_connect($DBhostname, $DBusername, $DBpassword) or die("Невозможно подключиться к БД");
    @
mysql_select_db($DBdatabase, $db);
    
mysql_query("CREATE TABLE chat_users (
  id int(10) NOT NULL auto_increment,
  login text NOT NULL,
  password text NOT NULL,
  privat text NOT NULL,
  active tinyint(2) NOT NULL default '0',
  PRIMARY KEY  (id)
) TYPE=MyISAM;
"
, $db) or die("Неправильный запрос");
}
?>
<form method="post">
<input name="DBhostname" type="text" value="<?php echo "$DBhostname" ?>" /><br>
<input name="DBusername" type="text" value="<?php echo "$DBusername" ?>" /><br>
<input name="DBpassword" type="password" value="<?php echo "$DBpassword" ?>" /><br>
<input name="DBdatabase" type="text" value="<?php echo "$DBdatabase" ?>" /><br>
<input type="submit" value="Send"><br>
</form>
</body>
</html>


Пожалуйста, помогите если можете!

   
 
 автор: cheops   (15.02.2007 в 16:25)   письмо автору
 
   для: Жва4ка   (15.02.2007 в 15:15)
 

Замените блок
<?php
    $db 
= mysql_connect($DBhostname, $DBusername, $DBpassword) or die("Невозможно подключиться к БД"); 
    @
mysql_select_db($DBdatabase, $db);
?>

на
<?php
    $db 
= mysql_connect($DBhostname, $DBusername, $DBpassword);
    if(!
$db) die("Невозможно подключиться к БД"); 
    if(!
mysql_select_db($DBdatabase, $db))  die("Невозможно выбрать БД"); 
?>

Выводится сейчас что-нибудь?

   
 
 автор: Ralph   (15.02.2007 в 20:40)   письмо автору
 
   для: cheops   (15.02.2007 в 16:25)
 

Блин,в другой теме не ответили,напишу в этой...Тем более вопрос также касается кодировки.Имеем:база данных и таблица,в которых кодировка utf-8,сравнение utf-8_unicode_ci.Имеем скрипт,который читает текст в кодировке utf-8 из файла и записывает в базу.При выводе содержимого базы в браузер весь текст отображается корректно,кроме буквы ш и еще пары букв.С чем это может быть связано ?

   
 
 автор: Trianon   (15.02.2007 в 20:48)   письмо автору
 
   для: Ralph   (15.02.2007 в 20:40)
 

То есть Вы не знаете даже на каком шаге искажаются данные?
До базы или после?

   
 
 автор: ЖВА4КА   (15.02.2007 в 21:57)   письмо автору
 
   для: Trianon   (15.02.2007 в 20:48)
 

А почему они искажаются?

   
 
 автор: ЖВА4КА   (15.02.2007 в 22:03)   письмо автору
 
   для: cheops   (15.02.2007 в 16:25)
 

Нет, вроде всё в порядке. Но тут такой вопрос, должны ли переменные преобретать значения которые вписываются в форму, если нет, то почему? Может тут синтаксис неправильный? Если знаете, то подскажите что-нибудь...

   
 
 автор: Ralph   (15.02.2007 в 22:21)   письмо автору
 
   для: ЖВА4КА   (15.02.2007 в 22:03)
 

Ай,тысяча извинений,был пьян и промахнулся темой :-( Раз уже написал...Проверил файл,из которого записываются в базу текст-там весь текст ок.А вот вывод из базы выдает этот глюк...

   
 
 автор: Trianon   (15.02.2007 в 23:46)   письмо автору
 
   для: Ralph   (15.02.2007 в 22:21)
 

Знаете, в базу можно заглянуть не только скриптом.
Или, как минимум, не только этим скриптом.
phpMyAdmin что показывает?

2 Жва4ка: сложно ставить диагноз, не видя пациента.

   
 
 автор: Trianon   (15.02.2007 в 23:50)   письмо автору
 
   для: ЖВА4КА   (15.02.2007 в 22:03)
 

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

   
 
 автор: Ralph   (16.02.2007 в 09:50)   письмо автору
 
   для: Trianon   (15.02.2007 в 23:50)
 

Admin выдает utf текст,правда,в виде win кодировки,то есть что-то вида "Р.Р`С+Р¤".Блин,неужели через админа придется вручную каждую строку править ... :-(

   
 
 автор: ЖВА4КА   (16.02.2007 в 20:09)   письмо автору
 
   для: Жва4ка   (15.02.2007 в 15:15)
 

Так, у меня всё с исходным кодом вдруг заработало! =) Просто бывает что у меня MySQL ноет! Так что можно объявлять тему оффтопом...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования