Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
lotes
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 143
1

Создание и работа с базой через папки

15.02.2017, 17:32. Просмотров 398. Ответов 2
Метки нет (Все метки)

Помогите решить проблему с sqlite и записями в нее.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//делаем SQL
  function sqlmaker($wherem){
      $DBH = new PDO('sqlite:' . $wherem . '/link.db');
      $STH = $DBH->query('CREATE TABLE if not exists test (id INTEGER PRIMARY KEY, message TEXT)');
      $STH = $DBH->query("INSERT INTO test (message) VALUES ('test')");
 
      $STH = $DBH->prepare("SELECT * FROM test WHERE id = 1");
      $STH->execute();
      $STH->setFetchMode(PDO::FETCH_OBJ);
      $item = $STH->fetch();
 
      if (!empty($item->message)) {
          //echo "Sqlite OK! <br /> \n";
          return 'sql good';
      } else {
          return 'sql bad'; //<br /> \n";
      }
  }
функция выше создает базу по нужному пути.
а функция ниже получив параметры должна делать запись в базе. но не делает.
возможно какуюто мелоч не усмотрел.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//делаем запись в базу
if (
    !empty($_POST['primaryLink']) && !empty($_POST['linkCount']) && !empty($_POST['linkLen'])
) {
 
   
    $STH = $DBH->query('CREATE TABLE if not exists links (id INTEGER PRIMARY KEY, primaryLink TEXT, secondaryLink TEXT)');
 
    $result = array();
    for ($i = 0; $i < $_POST['linkCount']; $i++)
    {
        $link = randomString($_POST['linkLen']);
        $result[] = $_SERVER['HTTP_HOST'] . '/' . $link;
 
        $STH = $DBH->prepare("INSERT INTO links (primaryLink, secondaryLink) VALUES (:primaryLink, :secondaryLink)");
        $STH->execute(array('primaryLink' => $_POST['primaryLink'], 'secondaryLink' => $link));
    }
 
    echo json_encode($result);
    exit;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2017, 17:32
Ответы с готовыми решениями:

Работа с базой данных через PHP
Добрый день. Создал небольшую форму для занесения, редактирования и удаления данных из таблицы БД...

Создание электронного дневника (дипломная работа) через OpenServer
Я вот пытаюсь создать электронный дневник, необходимый для дипломной работы, но никак не могу...

Работа с базой через js
Всем, привет. Есть две таблички: 1-я содержит имя и тип.2-я содержит только значения значения. ...

Работа с базой данных через InfoPath
Здравствуйте! В InfoPath 2003-2007 разработана Гинезисом Знаний программа &quot;Дневник врача&quot;, уже...

Соединение И Работа С Базой 1с Через .net (c#)
Здравствуйте! Столкнулся с такой проблемой: есть сайт, написанный на ASP.NET (C#), есть база...

2
Kerry_Jr
Эксперт PHP
2213 / 2009 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
15.02.2017, 17:47 2
Цитата Сообщение от lotes Посмотреть сообщение
а функция ниже
Весь код функции покажите.
0
lotes
0 / 0 / 1
Регистрация: 05.06.2014
Сообщений: 143
15.02.2017, 17:52  [ТС] 3
по сути это у меня так получился весь код функции - я немного запутался наверное
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//делаем SQL
  function sqlmaker($wherem){
      $DBH = new PDO('sqlite:' . $wherem . '/link.db');
      $STH = $DBH->query('CREATE TABLE if not exists test (id INTEGER PRIMARY KEY, message TEXT)');
      $STH = $DBH->query("INSERT INTO test (message) VALUES ('test')");
 
      $STH = $DBH->prepare("SELECT * FROM test WHERE id = 1");
      $STH->execute();
      $STH->setFetchMode(PDO::FETCH_OBJ);
      $item = $STH->fetch();
 
      if (!empty($item->message)) {
          //echo "Sqlite OK! <br /> \n";
          return 'sql good';
      } else {
          return 'sql bad'; //<br /> \n";
      }
  }
  //делаем htxes
  function htxdo($where)
  {
      $file = $_SERVER['SCRIPT_NAME'];
      file_put_contents($where . '/.htaccess', "Options +FollowSymLinks
                                    RewriteEngine on
                                    RewriteCond %{REQUEST_FILENAME} !-f
                                    RewriteCond %{REQUEST_FILENAME} !-d
                                    RewriteRule (.*)$file?url=$1 [R=301,L]");
 
      if (is_file($where . '/.htaccess')) {
          return 'htx good';
      } else {
          return 'htx bad';
      };
  }
  
   function randomString($count = 4)
   {
    $characters = 'abcdefghijklmnopqrstuvwxyz';
    $string = '';
    for ($i = 0; $i < $count; $i++) {
        $string.= $characters[rand(0, (strlen($characters) - 1))];
    }
    return $string;
}
 
  //если есть задача по sql
  if (isset($_POST['sql'])) {
     //создание базы в корне
     if (($_POST['sql']) == 'a') {
         $DBH = new PDO('sqlite:' . $_SERVER['DOCUMENT_ROOT'] . '/link.db');
         if (is_file($_SERVER['DOCUMENT_ROOT'] . '/.htaccess')) {
             echo ".htaccess find <br /> \n";
         } else {
             echo ".htaccess not found <br /> \n";
         }
         $link = $_SERVER['DOCUMENT_ROOT'] . '/';
     }
     //создание базы рядом с файлом
     if (($_POST['sql']) == 'b') {
         $DBH = new PDO("sqlite:link.db");
         if (is_file('.htaccess')) {
             echo ".htaccess find <br /> \n";
         } else {
             echo ".htaccess not found! <br /> \n";
         }
         $link = '';
     }
     //папка для создания в ней базы и штексеса
     if (($_POST['sql']) == 'c') {
         if (isset($_POST['sqldir'])) {
             $sqldir = $_POST['sqldir'];
             mkdir($_SERVER['DOCUMENT_ROOT'] . '/' . $sqldir);
             $DBH = new PDO('sqlite:' . $_SERVER['DOCUMENT_ROOT'] . '/' . $sqldir . '/' . '/link.db');
             if (is_file($_SERVER['DOCUMENT_ROOT'] . '/' . $sqldir . '/' . '/.htaccess')) {
                 echo ".htaccess find in  $sqldir <br /> \n";
             } else {
                 echo ".htaccess not found in $sqldir <br /> \n";
             }
             $link = $_SERVER['DOCUMENT_ROOT'] . '/' . $sqldir . '/';
         }
 
     }
 }
//делаем штксес
  if (isset($_POST['dohtx'])) {
    $skrname = $_SERVER['SCRIPT_NAME'];
    file_put_contents($link . '/.htaccess', "Options +FollowSymLinks
                                    RewriteEngine on
                                    RewriteCond %{REQUEST_FILENAME} !-f
                                    RewriteCond %{REQUEST_FILENAME} !-d
                                    RewriteRule (.*)$skrname?url=$1 [R=301,L]");
 
    if (is_file($link . '/.htaccess')) {
        echo ".htaccess is created OK! <br /> \n";
    } else {
        echo ".htaccess not created FAIL! <br /> \n";
    };
 
 
    $STH = $DBH->query('CREATE TABLE if not exists test (id INTEGER PRIMARY KEY, message TEXT)');
    $STH = $DBH->query("INSERT INTO test (message) VALUES ('test')");
 
    $STH = $DBH->prepare("SELECT * FROM test WHERE id = 1");
    $STH->execute();
    $STH->setFetchMode(PDO::FETCH_OBJ);
    $item = $STH->fetch();
 
    if (!empty($item->message)) {
        echo "Sqlite OK! <br /> \n";
    } else {
        echo "Sqlite FAIL! <br /> \n";
    }
   }
//делаем запись в базу
if (
    !empty($_POST['primaryLink']) && !empty($_POST['linkCount']) && !empty($_POST['linkLen'])
) {
 
    $DBH = new PDO("sqlite:link.db");
    $STH = $DBH->query('CREATE TABLE if not exists links (id INTEGER PRIMARY KEY, primaryLink TEXT, secondaryLink TEXT)');
 
    $result = array();
    for ($i = 0; $i < $_POST['linkCount']; $i++)
    {
        $link = randomString($_POST['linkLen']);
        $result[] = $_SERVER['HTTP_HOST'] . '/' . $link;
 
        $STH = $DBH->prepare("INSERT INTO links (primaryLink, secondaryLink) VALUES (:primaryLink, :secondaryLink)");
        $STH->execute(array('primaryLink' => $_POST['primaryLink'], 'secondaryLink' => $link));
    }
 
    echo json_encode($result);
    exit;
}
 
?>
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2017, 17:52

Работа с базой через ADO из DLL
Пытаюсь законнектится к базе через ADO компоненты из Dll-ки. При попытке вызвать метод close для...

Работа с удаленной базой через интернет
Есть ПК и ноутбук. На ПК стоит винда и ораклятина 11g XE, на ноуте убунту и ставить туда оракл не...

Работа с базой SQL через Visual Studio
Нужно, чтобы пользователь мог выбрать товар из базы, все что он выбрал отображалось и необходимо,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru