1 (изменено: theTWK, 2009-10-02 21:30:55)

Тема: Опять проблема из за этих кодировок

Поставил я XAMMP в комплект которого входит PMA 3.2.0.1

Создаю БД  и таблицы вот таким вот скриптом

    $connect = mysql_connect($db_host,$db_user,$db_password)    
        or die("Не удалось соеденится с сервером");
        
    echo "Соединение с сервером прошло успешно<br>";
    
    $query = "CREATE DATABASE IF NOT EXISTS {$db_name} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
    $result = mysql_query($query)
        or die("Ошибка при выполнении запроса".mysql_error());
    echo "Создана БД<br>";
    
    $base = mysql_select_db($db_name,$connect)
        or die("Ошибка при выборе БД");
    
    $query = "CREATE TABLE contacts (ID MEDIUMINT NOT NULL AUTO_INCREMENT, имя VARCHAR(20),фамилия VARCHAR(20), мобтелефон VARCHAR(20),email VARCHAR(20), PRIMARY KEY (ID))";
    $result = mysql_query($query)
        or die("Ошибка при выполнении запроса".mysql_error());
    echo "Создана таблица<br>";
    
    mysql_close($connect);
    echo "Соединение с сервером завершенно.<br>";

БД с таблицой создалась успешно.
НО только вот в PMA вот такое

http://s58.radikal.ru/i159/0910/06/ab3cf3a33e76.jpg

Пытаюсь добавить запись

       

$connect = mysql_connect($db_host,$db_user,$db_password);
    
    $base = mysql_select_db($db_name,$connect)
        or die("Ошибка при выборе БД");
    

    $query = "INSERT INTO gbdata (имя,фамилия,мобтелефон,email) VALUES ('{$name}', '{$secondname}', '{$telephone}', '{$email}')";
    $result = mysql_query($query)
        or die("Ошибка при выполнении запроса".mysql_error());
    echo "Созданна таблица<br>";

    mysql_close($connect);
    echo "Соеденение с сервером завершенно.<br>";

Ошибка при выполнении запроса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 '?мя,фамилия,мобтелефон,email) VALUES ('ывп', 'выап', '' at line 1

Сообщение добавлено Fri Oct  2 22:34:06 2009
А сейчас пытаюсь создать БД и таблицы

Соеденение с сервером прошло успешно
Созданна БД
Ошибка при выполнении запроса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 '?мя VARCHAR(20),фамилия VARCHAR(20), мобтелефон VARCHAR(20),e' at line 1

2

Re: Опять проблема из за этих кодировок

theTWK
Сразу после функции mysql_connect() добавьте строку:
mysql_query('SET NAMES utf8');

Имена таблиц в запросах, тем более кириллицей, лучше забирать в косые кавычки.

3

Re: Опять проблема из за этих кодировок

здесь
"CREATE TABLE contacts (ID MEDIUMINT NOT NULL AUTO_INCREMENT, имя VARCHAR(20),фамилия VARCHAR(20), мобтелефон VARCHAR(20),email VARCHAR(20), PRIMARY KEY (ID))"

надо так ?

"CREATE TABLE contacts (ID MEDIUMINT NOT NULL AUTO_INCREMENT, "имя" VARCHAR(20),"фамилия" VARCHAR(20), "мобтелефон" VARCHAR(20),email VARCHAR(20), PRIMARY KEY (ID))"

и еще я когда пишу моб.телефон то запрос тоже не отправляется sad

4

Re: Опять проблема из за этих кодировок

theTWK

CREATE TABLE `contacts` (`ID` MEDIUMINT NOT NULL AUTO_INCREMENT, `имя` VARCHAR(20), `фамилия` VARCHAR(20), `мобтелефон` VARCHAR(20), `email` VARCHAR(20), PRIMARY KEY (`ID`))

`моб`.`телефон` - это поле "телефон" в таблице "моб".
`моб.телефон` - это название поля "моб.телефон".