[SQL + PHP] Не понимаю...

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

[SQL + PHP] Не понимаю...

Сообщение DirectXManiac » 10.09.2006 (Вс) 20:41

Извините меня... Я новичок в базах и php поэтому прошу помощи... Подскажите почему не создаеться таблица и строка:
Код: Выделить всё
<?php
$db_link=mysql_connect('localhost','skyline','123456');
if( !$db_link) {
echo "Нет базы!";
}
mysql_select_db('skyline',$db_link);
$result = mysql_query("CREATE TABLE users", $db_link);
if ($result) {
echo "Ошибка!!"
}
mysql_close($db_link);
?>

Вроде всё правильно! :oops: Подскажите плиз!
#define ROFL 0xDDDD

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 10.09.2006 (Вс) 20:58

"CREATE TABLE users" - это неправильная SQL-инструкция
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.09.2006 (Вс) 21:00

Наверное, у создаваемой таблицы должно быть хотя бы одно поле?
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 10.09.2006 (Вс) 21:01

ANDLL
А как правильно будет? :oops:
[правка]Какой же дурак! :lol: Сори! Я уже понял ошибку Спасибо, tyomitch
#define ROFL 0xDDDD

Шнурок
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 12.11.2004 (Пт) 19:28
Откуда: Санкт-Петербург

Re: [SQL + PHP] Не понимаю...

Сообщение Шнурок » 25.09.2006 (Пн) 3:40

if ($result) {
echo "Ошибка!!"
}

Странная логика :? Почему при удачном выполнении запроса должна выводиться "Ошибка!!"?
P.S.
if (!$result) {...
02.01.2004

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 25.09.2006 (Пн) 8:38

DirectXManiac
Не так делаешь ты, как учил тебя Хакер. Если бы делал так, узнал бы номер ошибки ты. Была бы это ошибка 1113.

Узнал бы описания ошибки ты: A table must have at least 1 column

Понял бы, что таблица должна иметь по крайней мере одно поле.

:wink:

mysql_errno, mysql_error учит тебя использовать Хакер. Поделится DAL-ом может с тобой Хакер.

ЗЫ. А нафиг тебе это, если мы поставили Мамбу :? ?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 25.09.2006 (Пн) 17:43

Он свой форум написать хочет. Мазохист, правда? :roll:
Изображение

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 12.11.2006 (Вс) 17:25

Так! Теперь уже точно не могу понять в чём дело! Короче говоря мне нужно записать в таблицу
$db->prefix . "_users_pleasures" пусть это будет forum_users_pleasures
два значения... Но что-то ошибку даёт
Код: Выделить всё
        $sql = "INSERT INTO forum_users_pleasures (to,value) VALUES ($uname,$val)";
        $res = $db->sql_query($sql);
        die (mysql_error());

Выдаёт:
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 'to,value) VALUES (DXManiac,1)' at line 1
Что неправильно в запросе подскажите... и как должно быть ибо всегда делал так и всё получалось.
ЗЫ Пишу интересный мод для phpBB2 :)
#define ROFL 0xDDDD

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.11.2006 (Вс) 17:29

Забавно...
Ответ содержится в первом же посте этой темы, за авторством тебя же...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Шнурок
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 12.11.2004 (Пт) 19:28
Откуда: Санкт-Петербург

Сообщение Шнурок » 12.11.2006 (Вс) 18:13

DirectXManiac писал(а):ЗЫ Пишу интересный мод для phpBB2 :)
а что за мод такой?))) в чем суть, если не секрет? просто есть подозрение что такой наверняка уже есть :) :roll:
02.01.2004

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.11.2006 (Вс) 18:40

DirectXManiac
Ну, одинарных ковычек нет...

Да и не стал бы я перечислять поля в которые ты заносишь инфу.

Т.е. я бы сделал так:

Код: Выделить всё

INSERT INTO forum_users_pleasures VALUES ('$uname','$val')


Но с учётом того, что я знаю, что ты там такое делаешь, я заявляю что такой подход (создание специальной таблицы для этого) - абсолютно неправильный подход.

Здесь тебе надо добавиь в таьлицу _users поле user_pls_count (MEDIUMINT, 4)
И соотв. менять значение этого поля.

Код: Выделить всё

function pls_change($user_id, $sign)
{
     global  $db;
     $db->sql_query("UPDATE ".USERS_TABLE."
                     SET user_pls_count = user_pls_count $sign 1
                     WHERE user_id = $user_id");     

}


Ну, естественно учитывая особенности DAL-а phpBB нужно позаботиться о некоторых вещах.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 12.11.2006 (Вс) 19:16

Хакер
во первых табица
id tinyint(3), to varchar(40), from varchar(40), value varchar(3), desc text(255)
Во вторых не количество а текст... "+1","+10" и т.д.
#define ROFL 0xDDDD

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.11.2006 (Вс) 19:25

таблица кривая. названия половины полей - зарезервированные ключ. слова SQL.

Во первых поля должны называться префиксполей_названия поля.

поля to, from, desc - это не правильные поля.

во вторых очень глупо хранить в базе текст +10, +1.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 68

    TopList