Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
1

Почему не записывает данные ?

12.07.2015, 11:54. Показов 1154. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток
есть проблема скрипт не записывает в базу не чего
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
session_start();
 
$conten = mysqli_connect("localhost","","","")or die(mysql_error());
 
$te = filter_input(INPUT_POST, 'te', FILTER_SANITIZE_SPECIAL_CHARS);
$ko = filter_input(INPUT_POST, 'ko', FILTER_SANITIZE_SPECIAL_CHARS);
 
if(!empty($te) &&  !empty($ko)){
    $ot = $_SESSION['username'];
    $time = date('H:i:s');
    $text = "SELECT COUNT(*) AS `cnt` FROM `User` WHERE `name` = '$ko'";
    $zap = mysqli_query($conten, $text) or die(mysqli_error($conten));  
    $user = mysqli_fetch_assoc($zap);
    //проверка на имя
if ($user["cnt"] == 0) {
        echo "<h2 id = 'no'> Нет такого пользвателя </h2>";
    } else {
        $lste = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
        $lszap =  mysqli_query ($conten, $lszap) or die(mysqli_error($conten));
    }
}
все переменные получаю от js запроса
Javascript
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
    $(function () {
      $('#lsform').on('submit', ls);
  });
 
  function ls(e) {
      e.preventDefault();
      
      var te = $.trim($("#te").val());
      var ko = $.trim($("#ko").val());
      if(te === '' || ko === '') {
          alert('Все поля обязательны для заполнения!');
          return false;
      }
      // Отсылаем паметры
      $.ajax({
          type: "POST",
          url: "php/lszap.php",
          data: {
              te: te,
              ko: ko
          },
          // Выводим то что вернул PHP
          success: function (html) {
              //Очищаем форму ввода сообщения
              $("#te").val('');
          }
      });
  }
что делать не знаю помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2015, 11:54
Ответы с готовыми решениями:

Не записывает данные в файл
Здравствуйте, использую PHP 5.5.38 в связке с VkAPI. Собственной вот листинг нерабочего кода. ...

Не записывает данные в файл
Парни, подскажите пожалуйста. Все выполняеться но файл send.txt так и остаеться пустым, туда нечего...

Не записывает данные в БД
Здравствуйте! Помогите пожалуйста разобраться в этой задачке, я уже несколько часов торчу по...

Не записывает данные
Доброго времени суток,не могу понять,почему то не записывает данные,хоть убей.Помогите...

19
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.07.2015, 12:28 2
и что же говорит mysqli_error?
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 14:04  [ТС] 3
Jewbacabra, не чего абсолютно не чего не каких ошибок просто не записывает в базу
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.07.2015, 14:22 4
Цитата Сообщение от Ksinov Посмотреть сообщение
абсолютно не чего не каких ошибок просто не записывает в базу
так не бывает. значит до записи просто не доходит. включи отображение всех ошибок php. и ошибки js в консоли посмотри
1
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 14:28 5
Лучший ответ Сообщение было отмечено Ksinov как решение

Решение

Ksinov, можно сделать что-то в таком плане:
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
<?php
 
$stepwise = array();
    
$conten = mysqli_connect("localhost","","","");
if ($conten->connect_error) {
    $stepwise[] = 'Ошибка на уровне подключения: '.$mysqli->connect_error;
}
 
$te = filter_input(INPUT_POST, 'te', FILTER_SANITIZE_SPECIAL_CHARS);
$ko = filter_input(INPUT_POST, 'ko', FILTER_SANITIZE_SPECIAL_CHARS);
 
if(!empty($te) &&  !empty($ko)){
    
    $stepwise[] = 'Полученные данные: '.$te.', '.$ko;
    
    $ot = $_SESSION['username'];
    $time = date('H:i:s');
    $text = "SELECT COUNT(*) AS `cnt` FROM `User` WHERE `name` = '$ko'";
    $zap = mysqli_query($conten, $text) or die(mysqli_error($conten));  
    $user = mysqli_fetch_assoc($zap);
    
    $stepwise[] = 'Кол-во найденный пользователей: '.$user["cnt"];
    
    if ($user["cnt"] == 0) {
        echo "<h2 id = 'no'> Нет такого пользвателя </h2>";
    } else {
        $lste = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
        $lszap =  mysqli_query ($conten, $lszap) or die(mysqli_error($conten));
        
        $stepwise[] = 'Пользователь добавлен. ID : '.mysqli_insert_id($conten);
    }
} else {
    $stepwise[] = 'Данных нет или они пустые';
}
exit(implode(PHP_EOL, $stepwise));
В JS сделайте вывод в консоль или alert-ом и посмотрите результат
Javascript
1
2
3
4
5
6
7
8
9
// Выводим то что вернул PHP
success: function (html) {
    console.log(html);
    // или 
    // alert(html);
 
    //Очищаем форму ввода сообщения
    $("#te").val('');
}
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 14:29  [ТС] 6
Jewbacabra, Не чего нет может по другому по советуете сделать??

Добавлено через 1 минуту
Lazy_Den, хорошо попробую отпишусь
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 14:29 7
P.S. И я ж надеюсь, что вы указываете пользователя, пароль (если нужно), имя базы при подключении:
PHP
1
$conten = mysqli_connect("localhost","","","");
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 14:30  [ТС] 8
Lazy_Den, конечно
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 14:33 9
Цитата Сообщение от Ksinov Посмотреть сообщение
конечно
Это уже радует И измените имя переменной для идентификатора соединения ($conten), а то с толку сбивает. Там ведь никакого контента нет. Хотя бы $link или $mysqli...
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 14:51  [ТС] 10
Lazy_Den, Хорошо)

Добавлено через 16 минут
ошибка вот такая
Warning: mysqli_query() [function.mysqli-query]: Empty query in W:\home\ksinov.kz\www\lszap.php on line 28
в этом коде
PHP
1
2
3
4
 $lste = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
        $lszap =  mysqli_query($conten, $lszap) or die(mysqli_error($conten));
        
        $stepwise[] = 'Пользователь добавлен. ID : '.mysqli_insert_id($conten);
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
12.07.2015, 15:04 11
Лучший ответ Сообщение было отмечено Ksinov как решение

Решение

Цитата Сообщение от Ksinov Посмотреть сообщение
ошибка вот такая
ну написано же русским английским языком: пустой запрос.
а теперь сравним:
Цитата Сообщение от Ksinov Посмотреть сообщение
$lste = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
$lszap = mysqli_query($conten, $lszap) or die(mysqli_error($conten));
А были бы включены все php ошибки интерпретатор так бы и сказал: PHP Notice: Undefined variable: lszap in filename.php on line 29
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 15:56  [ТС] 12
Jewbacabra, та же ошибка не чего не изменилось! а и простите за мои ошибке не внимательно посмотрел
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 15:58 13

Не по теме:

И я добавлю, что переменным желательно давать осмысленные имена, тогда и "замыленный глаз" определил бы такую оплошность. Это, кстати говоря, к предыдущему "$conten" тоже относится



Добавлено через 2 минуты
Цитата Сообщение от Ksinov Посмотреть сообщение
та же ошибка не чего не изменилось!
А вы хоть изменили? С переименованными переменными должно быть более ясно видно
PHP
1
2
$query_string = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
$result = mysqli_query($conten, $query_string) or die(mysqli_error($conten));
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 16:00  [ТС] 14
Lazy_Den, да изменил все равно
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 16:02 15
Цитата Сообщение от Ksinov Посмотреть сообщение
да изменил все равно
, верните ответом на ajax-запрос сформированную строку запроса или запишите её в файл. Потом попробуйте скопировать эту строку, и запустить в phpMyAdmin или в консоли.
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 16:29  [ТС] 16
Lazy_Den, Что простите не пойму вас строку с ошибкой ?

Добавлено через 2 минуты
<!--error--><br />
<b>Warning</b>: mysqli_query() [<a href='function.mysqli-query'>function.mysqli-query</a>]: Empty query in <b>W:\home\ksinov.kz\www\lszap.php</b> on line <b>28</b><br />
<script language=JavaScript src='/denwer/errors/phperror_js.php'></script>
вот что мне выдал алерт
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 16:35 17
Цитата Сообщение от Ksinov Посмотреть сообщение
строку с ошибкой ?
Нет, строку sql-запроса.
PHP
1
2
3
4
$query_string = "INSERT INTO `ls` (`ot`,`kom`,`mesage`,`dat`) VALUES('$ot','$ko','$te','$time')";
exit($query_string);
 // или 
file_put_contents('test_query.txt', $query_string);
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 16:35  [ТС] 18
все проблема решена всем спасибо за помощь терпение и извините за мою глупость и тупость!
0
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.07.2015, 16:36 19
Цитата Сообщение от Ksinov Посмотреть сообщение
все проблема решена
Дык поведайте народу, в чем проблема-то была.
1
2 / 2 / 3
Регистрация: 17.04.2015
Сообщений: 187
12.07.2015, 16:44  [ТС] 20
Lazy_Den, вся вина в моей не внимательности и глупости!! ошибка в моей таблице была и-за не достатка строки и с самого начало из за переменой в запросе!! простите и спасибо вам
0
12.07.2015, 16:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2015, 16:44
Помогаю со студенческими работами здесь

НЕ записывает данные в БД
Всем привет, в общем сразу к делу: 1) Имеется PHP, который должен заполнять таблицу в БД. хост,...

Mysql_query не записывает данные в таблицу
Не выдает ошибок, но и не записывает данные в таблицу. &lt;?php include ('db.php'); ?&gt; Вот див...

Не записывает данные в базу данных
Всем доброго времени суток. Столкнулся с проблемой записи данных в базу данных. А именно...

При обновлении страницы записывает данные в БД
Всем привет. Почему когда я обновляю свою страницу, в бд записываются данные, который я добавлял...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru