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

Форум MySQL

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

 

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

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

тема: SQLite
 
 автор: as67ji   (12.07.2009 в 19:59)   письмо автору
 
 

Я плохо понял, подскажите пожалуйста, когда именно нужно использовать функцию sqlite_escape_string и для каких целей?
И ещё, что нельзя записывать в БД (SQLite) (например, одинарные кавычки, двойные и т.д.)?

  Ответить  
 
 автор: Trianon   (12.07.2009 в 20:39)   письмо автору
 
   для: as67ji   (12.07.2009 в 19:59)
 

Из мануала следует, что эту функцию создали затем, чтобы в запросах к этой БД можно было применять строки с любыми символами.

Какое место Вы поняли плохо?

  Ответить  
 
 автор: As67ji   (12.07.2009 в 21:39)   письмо автору
 
   для: Trianon   (12.07.2009 в 20:39)
 

Тоесть, какую бы я не записал информацию, она (информация) не будет опасной? Она работает как htmlspecialchars? Выходит, ей пользоваться всешда перед записью?

  Ответить  
 
 автор: Trianon   (12.07.2009 в 21:59)   письмо автору
 
   для: As67ji   (12.07.2009 в 21:39)
 

не бывает информация опасной.
Бывают опасными методы её обработки.
Точнее, ошибки в методах обработки приводят к тому, что опасности подвергается исполняемый процесс.

Нет, она работает не как htmlspecialchars.
Собственно, как она работает детально - я не в курсе.
Просто у меня нет оснований не верить мануалу - такие функции не бином Ньютона.

А ващще всегда ей нужно пользоваться не [только] перед записью, а в процессе формирования любой строки, как синтаксического элемента SQLite-запроса.

  Ответить  
 
 автор: As67ji   (12.07.2009 в 22:09)   письмо автору
 
   для: Trianon   (12.07.2009 в 21:59)
 

>> А ващще всегда ей нужно пользоваться не [только] перед записью, а в процессе формирования любой строки, как синтаксического элемента SQLite-запроса.

Это я и хотел услышать :) Спасибо большое.

  Ответить  
 
 автор: As67ji   (12.07.2009 в 22:44)   письмо автору
 
   для: as67ji   (12.07.2009 в 19:59)
 

Хм, а почему у меня этот код
<?

  $db 
sqlite_open("userdb.db"); 
  if (!
$db) exit("Не удалось создать базу данных!");

$query_table sqlite_query($db"CREATE TABLE user(id INTEGER PRIMARY KEY,
login TEXT,
sex TEXT,
group TEXT,
name TEXT,
info TEXT,
hous TEXT,
contact TEXT,
homepage TEXT,
floor TEXT,
regdate TEXT,
pos TEXT),
style TEXT);
"
);
if (!
$query_table) exit("Невозможно создать таблицу в базе данных!");
?>

выдаёт ошибку?
Warning: sqlite_query() [function.sqlite-query]: near "group": syntax error in index.php on line 21
Невозможно создать таблицу в базе данных!

  Ответить  
 
 автор: As67ji   (12.07.2009 в 22:46)   письмо автору
 
   для: as67ji   (12.07.2009 в 19:59)
 

Если я вместо group напишу gp, то ошибка уже другая:

Warning: sqlite_query() [function.sqlite-query]: near ",": syntax error in index.php on line 21
Невозможно создать таблицу в базе данных!

  Ответить  
 
 автор: Trianon   (12.07.2009 в 22:57)   письмо автору
 
   для: As67ji   (12.07.2009 в 22:46)
 

group - ключевое слово. Поэтому нельзя.

а что до запятой, то здесь явная ошибка синтаксиса. Смотрите внимательно. В конце запроса.

  Ответить  
 
 автор: As67ji   (12.07.2009 в 23:01)   письмо автору
 
   для: Trianon   (12.07.2009 в 22:57)
 

Аааа, где она? Я не пойму куда ставить запятую (или убрать). Ибо писал как тут:
$query_table = sqlite_query($db, "CREATE TABLE table1 
                              (id INTEGER PRIMARY KEY, 
                              /* id автоматически станет автоинкрементным */ 
                               field1 TEXT, 
                               field2 TEXT); 
                              ");


(Информационный портал
«SoftTime-INFO»)

  Ответить  
 
 автор: .   (13.07.2009 в 00:07)
 
   для: As67ji   (12.07.2009 в 23:01)
 

Убрать нужно не запятую, а одну лишнюю закрывающую скобку.

  Ответить  
 
 автор: As67ji   (12.07.2009 в 23:02)   письмо автору
 
   для: Trianon   (12.07.2009 в 22:57)
 

Мне стыдно(((( Не бейте меня)))

  Ответить  
 
 автор: As67ji   (13.07.2009 в 09:36)   письмо автору
 
   для: as67ji   (12.07.2009 в 19:59)
 

Warning: sqlite_query() [function.sqlite-query]: unrecognized token: ":" in /home/index.php on line 362


Что это за ошибка?

  Ответить  
 
 автор: Trianon   (13.07.2009 в 09:51)   письмо автору
 
   для: As67ji   (13.07.2009 в 09:36)
 

не видя запроса?
Что-то я не понимаю. Вам просто перевод фразы нужен чтоли?

  Ответить  
 
 автор: As67ji   (13.07.2009 в 10:30)   письмо автору
 
   для: Trianon   (13.07.2009 в 09:51)
 

Ммм, нет, вот:

$query=sqlite_query($db, "INSERT INTO user (login, sex, gp, name, info,
hous, contact, homepage, floor, regdate, pos, style) VALUES ($user[$i], $sex,
$group, $name, $info, $hous, $contact, $homepage, $floor, $regdate, $pos, $style);");

  Ответить  
 
 автор: Trianon   (13.07.2009 в 10:50)   письмо автору
 
   для: As67ji   (13.07.2009 в 10:30)
 

Это не текст запроса. Это текст оператора php , который этот запрос формирует.
Нужен же текст запроса. Т.е.результат выполнения
echo "INSERT INTO user ...";

[Horisontal scrolling ЛАП off]

  Ответить  
 
 автор: As67ji   (13.07.2009 в 11:05)   письмо автору
 
   для: Trianon   (13.07.2009 в 10:50)
 

<?php
$db 
sqlite_open(DB_CATALOG."/userdb.db"); 
if (!
$db) exit("Не удалось создать/открыть базу данных!");
include 
'allusers.php';
for(
$i=1;$i<=sizeof($user);$i++)
{
include 
"users/{$user[$i]}.php";
include 
"setting/{$user[$i]}.php";
$style="body{}";
$query=sqlite_query($db"INSERT INTO user (login, sex, gp, name, info,
hous, contact, homepage, floor, regdate, pos, style) VALUES (
$user[$i]$sex,
$group$name$info$hous$contact$homepage$floor$regdate$pos$style);");

if(!
$query) exit('Запись не добавлена!');

}
print 
'Успешно!';
?>


Вот нужный кусок. Но я ошибку найти не могу.

  Ответить  
 
 автор: Trianon   (13.07.2009 в 11:16)   письмо автору
 
   для: As67ji   (13.07.2009 в 11:05)
 

и я не могу .
пока Вы его не оформите хотя бы так:

$query="INSERT INTO user (login, sex, gp, name, info, hous, contact, homepage, floor, regdate, pos, style) 
    VALUES ($user[$i], $sex, $group, $name, $info, $hous, $contact, $homepage, $floor, $regdate, $pos, $style);";
$result = sqlite_query($db, $query);
if(!$result) exit('Запись не добавлена!<br>'. htmlspecialchars($query)); 

  Ответить  
 
 автор: As67ji   (13.07.2009 в 11:42)   письмо автору
 
   для: Trianon   (13.07.2009 в 11:16)
 

Warning: sqlite_query() [function.sqlite-query]: unrecognized token: ":" in /home/index.php on line 35
Запись не добавлена!
INSERT INTO user (login, sex, gp, name, info, hous,
contact, homepage, floor, regdate, pos, style) VALUES (neylon, Мужской, Домовладелец,
Евгений, <font color=red>Администратор этого ресурса.</font>, Волгоград,
ICQ: 2955292<br /> Mail: neylony@gmail.com, site, 1, , , body{background-color:yellow;padding:0px;margin:0px;font-family:Book Antiqua;
background-image: url(img/bg/puff.jpg);}.link{color:firebrick;font-family:Book Antiqua;
text-decoration:none;font-size:14px;}.link:hover{color:firebrick;font-size:14px;
text-decoration:underline;}.text{font-size:14px;padding:0px;margin:0px;
color:black;font-family:Book Antiqua;}.top{font-weight: bold; font-size: 19px;
color: black; font-style: italic; text-align: center;font-family:Book Antiqua;});

  Ответить  
 
 автор: Trianon   (13.07.2009 в 11:44)   письмо автору
 
   для: As67ji   (13.07.2009 в 11:42)
 

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

Вообще же складывается впечатление, что (12.07.2009 в 22:09) отвечали не Вы.

  Ответить  
 
 автор: As67ji   (13.07.2009 в 11:52)   письмо автору
 
   для: Trianon   (13.07.2009 в 11:44)
 

Нет, это я отвечал. Просто... Видите ли, до этого (и сейчас) мой сайт работает на файлах. В них всё хранится. БД (например, MySQL) я не использую, причин много. А совсем недавно я наткнулся в книге на раздел про SQLite. Оценив всё что нужно, я понял, что это мне подходит в самый раз... В SQLite (как и в других БД) я, хм, чайник. Поэтому такие вопросы задаю. Trianon, я извиняюсь, что создаю столько неудобств Вам. Но иначе спросить не у кого, а быть на других форумах не хочется.

  Ответить  
 
 автор: As67ji   (13.07.2009 в 12:08)   письмо автору
 
   для: Trianon   (13.07.2009 в 11:44)
 

<?php
$login
=sqlite_escape_string($user[$i]);
$pw=sqlite_escape_string($password);
$sex=sqlite_escape_string($sex);
$group=sqlite_escape_string($group);
$name=sqlite_escape_string($name);
$info=sqlite_escape_string($info);
$hous=sqlite_escape_string($hous);
$contact=sqlite_escape_string($contact);
$homepage=sqlite_escape_string($homepage);
$floor=sqlite_escape_string($floor);
$regdate=sqlite_escape_string($regdate);
$pos=sqlite_escape_string($pos);
$style=sqlite_escape_string($style);

$query="INSERT INTO user (login, pw, sex, gp, name, info,
hous, contact, homepage, floor, regdate, pos, style)  
    VALUES (
$login$pw$sex$group$name$info$hous,
$contact$homepage$floor$regdate$pos$style);"
$result sqlite_query($db$query); 
if(!
$result) exit('Запись не добавлена!<br>'htmlspecialchars($query)); 
?>


Warning: sqlite_query() [function.sqlite-query]: unrecognized token: ":" in /home/index.php on line 51
Запись не добавлена!
INSERT INTO user (login, pw, sex, gp, name, info, hous, contact, homepage, floor,
regdate, pos, style) VALUES (neylon, 7ecd070e6h2h9af07a07c32e7267051f, Мужской,
Домовладелец, Евгений, <font color=red>Администратор этого ресурса.</font>, Волгоград,
ICQ: 2955292<br /> Mail: neylony@gmail.com, http://www..ru/, 1, , ,
body{background-color:yellow;padding:0px;margin:0px;font-family:Book Antiqua;
background-image: url(http://www..ru/img/bg/puff.jpg);}.link{color:firebrick;font-family:Book Antiqua;
text-decoration:none;font-size:14px;}.link:hover{color:firebrick;font-size:14px;
text-decoration:underline;}.text{font-size:14px;padding:0px;margin:0px;color:black;
font-family:Book Antiqua;}.top{font-weight: bold; font-size: 19px;color: black; font-style: italic;
text-align: center;font-family:Book Antiqua;});

  Ответить  
 
 автор: Trianon   (13.07.2009 в 12:26)   письмо автору
 
   для: As67ji   (13.07.2009 в 12:08)
 

Горе луковое...
$login=sqlite_escape_string($user[$i]); $login = "'$login'";
и т.д.

  Ответить  
 
 автор: As67ji   (13.07.2009 в 12:44)   письмо автору
 
   для: Trianon   (13.07.2009 в 12:26)
 

Ух ты, а ведь работает!!!!))))
Спасибо!
P.S. Вряд ли это последний вопрос, но я буду стараться...

  Ответить  
 
 автор: As67ji   (17.07.2009 в 19:45)   письмо автору
 
   для: as67ji   (12.07.2009 в 19:59)
 

После работы скрипта всегда выводится следующий результат:
У вас кнатов (0 галлеонов, 0 сиклей и 0 кнатов).

Никаких ошибок нет. Вот сам код:
<?php
require_once('system.php');
top("Главная страница");

$db=@sqlite_open("many.db");
if(!
$db)
    exit(
'База данных не доступна, поэтому корректное отображение страницы невозможно.');


$floor=sqlite_escape_string($_COOKIE['floor']);


$query=@sqlite_query($db"SELECT * FROM many WHERE floor=$floor;");

/*
Если поля не существуем, значит, пользователь только что зарегистрировался.
Его нужно записать в БД для последующего использования:
*/

if(!$query)
{
    
$floor="'$floor'";
    
$query_insert=@sqlite_query($db"INSERT INTO many (floor, knats) VALUES ($floor, 4930);");
    if(!
$query_insert)
         exit(
'Не удалось записать в БД');
    
$knats=4930;
}
else
    
$knats=sqlite_column($query"knats");


$tmp[1]=$knats/29;
$tmp[1]=floor($tmp[1]);
$tmp[2]=$tmp[1]*29;
$tmp[3]=$knats-$tmp[2];
$tmp[2]=$tmp[1]/17;
$tmp[2]=floor($tmp[2]);
$tmp[4]=$tmp[2]*17;
$tmp[1]=$tmp[1]-$tmp[4];

print 
"У вас $knats кнатов ({$tmp[2]} галлеонов, {$tmp[1]} сиклей и {$tmp[3]} кнатов).";


down();
?>

Насколько я понял,
$knats=sqlite_column($query, "knats");
возвращает пустое значение
У вас $knats кнатов
(Фрагмент
$tmp[1]=$knats/29;
$tmp[1]=floor($tmp[1]);
$tmp[2]=$tmp[1]*29;
$tmp[3]=$knats-$tmp[2];
$tmp[2]=$tmp[1]/17;
$tmp[2]=floor($tmp[2]);
$tmp[4]=$tmp[2]*17;
$tmp[1]=$tmp[1]-$tmp[4];
работает правильно)

  Ответить  
 
 автор: Trianon   (17.07.2009 в 19:56)   письмо автору
 
   для: As67ji   (17.07.2009 в 19:45)
 

Мне вот интересно, как Вы дотягиваетесь до кнопки "Ответить"?
Я, например, с трудом.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:00)   письмо автору
 
   для: Trianon   (17.07.2009 в 19:56)
 

Trianon, не понял...

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:01)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:00)
 

Что именно?

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:02)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:01)
 

Мне вот интересно, как Вы дотягиваетесь до кнопки "Ответить"?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:03)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:02)
 

вот именно.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:04)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:03)
 

Блин, я не пойму) Вы можете объяснить свой вопрос?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:11)   письмо автору
29.2 Кб
 
   для: As67ji   (17.07.2009 в 20:04)
 

Что непонятного в вопросе?
Чтобы добавить очередную реплику в этом форуме, нужно нажать на кнопку "ответить".
На экране её нет. см. аттач. Она справа, в области горизонтального скроллинга.
Туда нужно тянуться этим самым скроллингом.
Что непонятного?

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:21)   письмо автору
53.3 Кб
 
   для: Trianon   (17.07.2009 в 20:11)
 

Ха) Тогда ясно) А теперь смотрите как у меня)

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:22)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:21)
 

Ага, понял.
Отвечать по существу вопроса Вам будет юзающий Оперу.
Адью :)

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:25)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:22)
 

Жду :)
Version 10.00 Beta 2, не ошибитесь. Предыдущая с кукиз плохо (очень) работает.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:31)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:25)
 

Вы, однако, наивны, предположив, что это буду я. :)

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:33)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:31)
 

Хм *задумался*
В таком случае да, наверное... *вздохнул*

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:37)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:33)
 

Но Вы не отчаивайтесь так.
Я тоже оказался достаточно наивен, решив вдруг, что Вы осознаете, просветлеете, и приведете в порядок посты, которые из-за размещения неадекватно длинных строк в теге [code] рвут ленту.
Так что мы квиты.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:40)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:37)
 

А, вот в чем причина...
В таком случае прошу прощения, больше так поступать не буду. Но и вы поймите меня правильно, я же не знал, что так происходит.
Больше так не буду...

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:50)   письмо автору
 
   для: As67ji   (17.07.2009 в 20:40)
 

1
2
3
4
И?

А то ситуация напоминает известный анекдот.
Партсобрание. Чехвостят алкоголика. Выговор, все дела...
Последнее слово
-Простите меня товарищи! Больше пить не буду.... Но и меньше тоже не буду!

  Ответить  
 
 автор: As67ji   (17.07.2009 в 20:57)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:50)
 

Исправил все, не только эти четыре.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 20:57)   письмо автору
 
   для: As67ji   (17.07.2009 в 19:45)
 

>if(!$query)
Здесь Вы проверяете, что запрос был выполнен корректно. А не сколько строк этот запрос вернул.
Если строк не нашлось, корректный запрос вернет 0 строк. Смысла применять sqlite_column() в этом случае нет никакого.

Так что sqlite_num_rows()

Ремарку про Луч Анального Поноса сейчас сниму.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:08)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:57)
 

В таком случае,
<?php
$query
=@sqlite_query($db"SELECT * FROM many WHERE floor=$floor;");
if(
$query)
    if(
sqlite_column($query"knats")!="")
    {
         
$floor="'$floor'";
         
$query_insert=@sqlite_query($db"INSERT INTO many (floor, knats)
                                           VALUES (
$floor, 4930);");
         if(!
$query_insert)
              exit(
'Не удалось записать в БД');
         
$knats=4930;
    }
    else
         
$knats=sqlite_column($query"knats");
else
    exit(
'Ошибка в запросе.');
?>

Но всё равно та же ситуация.
Trianon, Вы профессионал, я у Вас прошу помощи... Вы не можете мне нормально ответиль? Если не знаете в чём дело, так и скажите.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:16)   письмо автору
 
   для: As67ji   (17.07.2009 в 21:08)
 

Я ж написал - выполняйте проверку с помощью
if(sqlite_num_rows($query) > 0)

Если это не помогло включайте полную диагностику ошибок
error_reporting(-1); в начале скрипта

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:12)   письмо автору
 
   для: Trianon   (17.07.2009 в 20:57)
 

>Так что sqlite_num_rows()

Нулевое значение никак не может вернуть. В каждой ячейке обязательно хранится информация.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:18)   письмо автору
 
   для: As67ji   (17.07.2009 в 21:12)
 

Но Вы же пишете : если строки не нашлось - значит её надо добавить.
Вот это и есть случай нулевого значения.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:27)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:18)
 

Поражаюсь своей, хм, тупости... Ладно, сделаем скидку на возраст (хотя это не оправдание!)...
<?php
$query
=@sqlite_query($db"SELECT * FROM many WHERE floor=$floor;");
if(
$query)
    if(
sqlite_num_rows($query)<2)
    {
         
$floor="'$floor'";
         
$query_insert=@sqlite_query($db"INSERT INTO many (floor, knats)
                                           VALUES (
$floor, 4930);");
         if(!
$query_insert)
              exit(
'Не удалось записать в БД');
         
$knats=4930;
    }
    else
         
$knats=sqlite_column($query"knats");
else
    exit(
'Ошибка в запросе.');
?>


Изменил. Работает:
У вас 4930 кнатов (10 галлеонов, 0 сиклей и 0 кнатов).

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:34)   письмо автору
 
   для: As67ji   (17.07.2009 в 21:27)
 

почему если меньше 2 ?
А одна строка чем не?

Что заставили работать - респект.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:38)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:34)
 

Почему меньше двух? Ну потому, что два значения просто обязаны быть. Не спорю, можно было и одну указать, но это для наглядности. Я так всегда и везде пишу, поэтому точно знаю сколько должго возвращаться.

Что заставили работать - респект.
Я вам надоел? Увы, не у кого спросить больше.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:40)   письмо автору
 
   для: As67ji   (17.07.2009 в 21:38)
 

не сколько значений, а сколько строк.
Или floor - не уникальный ключ?

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:43)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:40)
 

Подождите. Вроде же floor округляет число до ближайшего меньшего целого?

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:44)   письмо автору
 
   для: As67ji   (17.07.2009 в 21:43)
 

:-D

floor - это пол. По английски.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 21:50)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:44)
 

Слушайте, что Вы меня путаете всегда?)))))))))
Вы сейчас про что?

Я же выше писал где-то
 VALUES ($login, $pw, $sex, $group, $nam
У меня пол - sex. И так в паспорте написано) И никак не php функция floor))))

  Ответить  
 
 автор: As67ji   (17.07.2009 в 22:08)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:40)
 

>Или floor - не уникальный ключ?
Вот запрос на создание:
<?php 
  $db 
sqlite_open("many.db"); 
  if (!
$db) exit("Невозможно создать базу данных!"); 
  
$query_table sqlite_query($db"CREATE TABLE many 
                              (id INTEGER PRIMARY KEY,  
                               floor TEXT, 
                               knats TEXT); 
                              "
); 
  if (!
$query_table) exit("Невозможно создать таблицу в базе данных!"); 
?>


floor здесь переводится как "этаж"))

  Ответить  
 
 автор: Trianon   (17.07.2009 в 22:10)   письмо автору
 
   для: As67ji   (17.07.2009 в 22:08)
 

$query_insert=@sqlite_query($db, "INSERT INTO many (floor, knats) VALUES ($floor, 4930);");


Вот у Вас оператор, добавляющий данные, так?
Почему Вы считаете, что он добавляет пару строрк?

  Ответить  
 
 автор: As67ji   (17.07.2009 в 22:12)   письмо автору
 
   для: Trianon   (17.07.2009 в 22:10)
 

Нет, я считаю, что добавляет два значения в одно поле.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 22:25)   письмо автору
 
   для: As67ji   (17.07.2009 в 22:12)
 

Этот запрос добавляет одну строку.

Согласно описанию таблицы (CREATE TABLE) поскольку таблица состоит из трех столбцов, любая её строка состоит из трех соответствующих полей. В каждом поле может быть ( а может и не быть) записано одно значение.
Двумя не пахнет никак.

  Ответить  
 
 автор: As67ji   (17.07.2009 в 22:28)   письмо автору
 
   для: Trianon   (17.07.2009 в 22:25)
 

Книга, по которой я учился, строку называет полем, поэтому я так привык тоже говорить. Хотя да, не правильно говорят, я это только сейчас понял.

  Ответить  
 
 автор: Valick   (17.07.2009 в 23:19)   письмо автору
 
   для: As67ji   (17.07.2009 в 22:28)
 

шо за книга?

  Ответить  
 
 автор: As67ji   (17.07.2009 в 23:23)   письмо автору
 
   для: Valick   (17.07.2009 в 23:19)
 

Хм, я не помню уже, она в электронном формате была...

  Ответить  
Rambler's Top100
вверх

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