Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавление в базу 
V
    Опции темы
Sassoft
Дата 25.6.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Цитата

Правильная работа со спецсимволами при составлении запросов
Итак. Как мы уже узнали выше, чтобы правильно составить запрос, надо заключать данные в кавычки и прослешивать их.
С первым всё понятно. При составлении динамических запросов мы никогда не забываем все данные заключить в кавычки:
$query="INSERT INTO `table` VALUES(NULL,'$name','$date','$price')";
Если переменная $price должна быть типа int и мы приведём её к этому типу, то можно её не заключать в кавычки. Однако, если заключим, то беды особой не будет, но зато можно будет сделать работу с данными единообразной.

PM MAIL   Вверх
Feldmarschall
Дата 25.6.2008, 13:28 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



gta4kv, ну для человека сложной и интересной задачей является добавление данных в базу. =)
Он хочет поделиться таким сокровенным знанием. И его в этом порыве человеколюбия не остановить, гы гы

Добавлено через 42 секунды
Sassoft, там написано данные. Про имена таблиц там написано совсем другое.
PM   Вверх
Sassoft
Дата 25.6.2008, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



$query="INSERT INTO `table` VALUES(NULL,'$name','$date','$price')";

это что тогда??? не имя таблицы и не кавычки??
PM MAIL   Вверх
gta4kv
Дата 25.6.2008, 13:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



не кавычки точно  smile 
PM MAIL   Вверх
Glip
Дата 25.6.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: 1
Всего: 18



SassoftStaind,  вы вообще собираетесь проверять возвращаемые значения 
Код

   $link = mysql_connect($dbhost, $dbuser, $dbpassword);
    mysql_select_db($dbname, $link);
    mysql_query($query, $link);

на ошибки? например:
Код

if (!$link) {
    die('Could not connect: ' . mysql_error());
}




--------------------
user posted image
PM MAIL   Вверх
Sassoft
Дата 25.6.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Я это сделал, просто здесь не написал код....
проверяю на ошибки функициями errno и error
ошибки не выдает, к базе конектица но данные не заносит
PM MAIL   Вверх
gta4kv
Дата 25.6.2008, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 4
Всего: 91



Glip, вот зачем надо было выкладывать?  мы еще не наиздевались  smile 

upd
комментарий к след. посту.

Feldmarschall не понимает юмора

Это сообщение отредактировал(а) gta4kv - 25.6.2008, 14:22
PM MAIL   Вверх
Feldmarschall
Дата 25.6.2008, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Sassoft, я не поленился, и пошел прочитать ещё раз. Там написано - что это за кавычки. 
По поводу не заносит. А откуда у тебя взялись переменные $login и так далее? из воздуха?

gta4kv, издеваешься тут только ты. Лично я хочу чтобы человек понял хотя бы самые основы.


PM   Вверх
Sassoft
Дата 25.6.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Feldmarschall, на первой странице написано кто что откуда берет.. там форма стоит

Добавлено через 2 минуты и 34 секунды
вот код:
Код

<form action='admin.php' method='POST'>
<br><input type='text' nаmе='login' value='Логин'>
<br><input type='text' nаmе='pass' value='Пароль'>
<br><input type='text' nаmе='info' value='Информация'>
<br><input name='submit' type='submit' value='Добавить'>
</form>
<?php
if (isset($_POST['submit']))
{
   // -----------------------------------------------------------------------------------------------
$dbhost=""; // хост
$dbuser=""; // пользователь
$dbpassword = ""; // пароль 
$dbname=""; // название БД MySQL

// Подключаемся к mysql серверу
$link = mysql_connect($dbhost, $dbuser, $dbpassword)  or die("Could not connect : " . mysql_error());
    print "Connected successfully";

// Выбираем нашу базу данных
mysql_select_db($dbname, $link)  or die("Could not select database");
echo mysql_errno() . ": " . mysql_error(). "\n";

// -----------------------------------------------------------------------------------------------
    // Добавляем запись в нашу таблицу 
    // т.е. делаем sql запрос
    $query = "INSERT INTO sassoft
                VALUES(".mysql_real_escape_string($_POST['login']).",".mysql_real_escape_string($_POST['pass']).",".mysql_real_escape_string($_POST['info']).")";
    mysql_query($query, $link);
    // Закрываем соединение
    mysql_close($link);
    echo "Вроде добавлено :)";
}
?>

PM MAIL   Вверх
Feldmarschall
Дата 25.6.2008, 14:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



во-первых, на первой странице ничего не написано - я спрашивал не про форму, а про переменные.
во-вторых, никто не знает, что у тебя "там есть, а здесь ты не написал код".
PM   Вверх
SamDark
Дата 25.6.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 2
Всего: 38




M
SamDark
gta4kv! Прекращаем флудить. Если есть что ответить по делу — отвечаем.



--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
MoLeX
  Дата 25.6.2008, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140




 ! 
MoLeX
Модератор: заканчиваем треп не поделу!!!


Добавлено через 39 секунд

 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Staind
Дата 25.6.2008, 18:39 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: нет
Всего: 3



Цитата

Sassoft, Staind,  вы вообще собираетесь проверять возвращаемые значения 

Вообще ты не по делу пишешь. Я не буду за человека писать грамотно проработанный скрипт, за это, обычно, деньги берут.
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
Sassoft
Дата 26.6.2008, 11:41 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 29.3.2006

Репутация: нет
Всего: нет



Staind, тогда чего ты лезешь сюда? Чтобы крутизну свою показать ? smile

Добавлено через 53 секунды
грамотно проработанный скрипт??? ))))
это все равно что в делфи подсказать как в файл данные записывать, деньги берут за это  smile 
весело тут у вас
PM MAIL   Вверх
Feldmarschall
Дата 26.6.2008, 13:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



Sassoft, записать в файл и грамотно записать в файл - это разные вещи.
К тому же, у тебя операция сложнее, чем запись в файл. Алгоритм, состоящий из нескольких этапов: получить данные из формы, составить запрос с этими данными в соответствии с синтаксисом SQL, затем выполнить этот запрос.
Программу надо контролировать на каждом этапе. А не запускать целиком и разводить руками "не работает".
Передаешь данные? проверь, получил ли ты их в  скрипте, есть ли что-то в переменных.
Получил? Составляй запрос. Составил? Выведи на экран, чтобы посмотреть - все ли в нем правильно.
И только после этого добавлять в базу.
Дельфи - это, конечно, хорошо, но программированию тоже надо учиться начинать когда-то.

PM   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1065 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.