Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 39
1

Не отправляется информация с сайта в базу данных

18.07.2018, 18:31. Показов 1436. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день форумчане, прошу помогите, сам не смог разобраться, выскакивает следующая ошибка:

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/linkmark/domains/linkmarket333.ru/public_html/app/include/functions.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /home/linkmark/domains/linkmarket333.ru/public_html/subscribe.php:1) in /home/linkmark/domains/linkmarket333.ru/public_html/subscribe.php on line 34


Строки я подписал

functions.php:

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
function insert_client($email, $name, $surname, $patronymic, $address, $zipcode, $phone, $nameware, $article, $count) {
                
            global $link;
            
            $email = mysqli_real_escape_string($link, $email);
            
            $surname = mysqli_real_escape_string($link, $surname);
            
            $name = mysqli_real_escape_string($link, $name);
            
            $patronymic = mysqli_real_escape_string($link, $patronymic);
            
            $address = mysqli_real_escape_string($link, $address);
            
            $zipcode = mysqli_real_escape_string($link, $zipcode);
            
            $phone = mysqli_real_escape_string($link, $phone);
            
            $nameware = mysqli_real_escape_string($link, $nameware);
            
            $article = mysqli_real_escape_string($link, $article);
            
            $count = mysqli_real_escape_string($link, $count);
 
            $query = "SELECT * FROM clients WHERE email = '$email', surname = '$surname', name = '$name', patronymic = '$patronymic', address = '$address', zipcode = '$zipcode', phone = '$phone', nameware = '$nameware', article = '$article', count = '$count'";
            
            $result = mysqli_query($link, $query);
            
            if (!mysqli_num_rows($result)) { - ругается на эту строку
                
                $client_code = generate_code();
                
                $insert_query = "INSERT INTO clients (email, code, surname, name, patronymic, address, zipcode, phone, nameware, article, count) VALUES ('$email', '$client_code', '$surname', '$name', '$patronymic', '$address', '$zipcode', '$phone', '$nameware', '$article', '$count')"; 
                
                $result = mysqli_query($link, $insert_query);
                
                if ($result) {
                    
                    return 'created';
                    
                } else {
 
                    return 'fail';
 
                }   
                
            } else {
            
                return 'exist';
 
            }   
        }
subscribe.php:
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
<?php
    
        require_once 'app/include/database.php';
        require_once 'app/include/functions.php';
        
        if (isset($_POST['email'])) {
        
            $email = trim($_POST['email']);
            
            $surname = trim($_POST['surname']);
            
            $name = trim($_POST['name']);
            
            $patronymic = trim($_POST['patronymic']);
            
            $address = trim($_POST['address']);
            
            $zipcode = trim($_POST['zipcode']);
            
            $phone = trim($_POST['phone']);
            
            $nameware = trim($_POST['nameware']);
            
            $article = trim($_POST['article']);
            
            $count = trim($_POST['count']);
            
            $insert_result = insert_client($email, $surname, $name, $patronymic, $address, $zipcode, $phone, $nameware, $article, $count);
            
            $header = 'Location: /?client=';
            
            $header .= $insert_result;
            
            header($header);
 
        } else {
            
            header('Location: /'); - ругается на эту строку
            
        }   
    
    ?>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2018, 18:31
Ответы с готовыми решениями:

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

Не отправляется запрос в базу данных
Вот код: Dim dm As New dbDataSet 'dbDataSet - это база данных Dim...

Не отправляется данные в базу данных
1) connectDB.php &lt;?php $db = mysqli_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;, &quot;ringobar&quot;); ?&gt; ...

Не отправляется данные в базу данных
Всем доброго времени суток.Помогите решить проблему:Делаю лаунчер для minecraft,все настроил все...

13
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
18.07.2018, 18:38 2
Лучший ответ Сообщение было отмечено EDWIN9713 как решение

Решение

Цитата Сообщение от EDWIN9713 Посмотреть сообщение
if (!mysqli_num_rows($result)) { - ругается на эту строку
замените на
PHP
1
if (!$result || mysqli_num_rows($result) == 0) {
Цитата Сообщение от EDWIN9713 Посмотреть сообщение
header('Location: /'); - ругается на эту строку
уже был где-то вывод на странице
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
18.07.2018, 18:40 3
SQL
1
SELECT * FROM clients WHERE email = '$email', surname = '$surname', name = '$name', patronymic = '$patronymic', address = '$address', zipcode = '$zipcode', phone = '$phone', nameware = '$nameware', article = '$article', COUNT = '$count'
Запятые используются при UPDATE, а при SELECT используется AND или OR

Добавлено через 1 минуту
Цитата Сообщение от EDWIN9713 Посмотреть сообщение
header('Location: /'); - ругается на эту строку
из за вывода ошибки в SELECT
0
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 39
18.07.2018, 19:16  [ТС] 4
с первой строкой получилось спасибо, в второй строке в SELECT нужно только вместо запятых AND или OR написать

Добавлено через 45 секунд
или что то другое сделать?

Добавлено через 19 минут
Со второй строкой ничего не получилось, объясните по подробней если можно)
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
18.07.2018, 22:29 5
Цитата Сообщение от EDWIN9713 Посмотреть сообщение
Со второй строкой ничего не получилось, объясните по подробней если можно)
А что именно не получилось? Такая же ошибка?

Цитата Сообщение от EDWIN9713 Посмотреть сообщение
header('Location: /'); - ругается на эту строку
это означает что до вызова этой функции выводится информация в браузер. Другими словами, до вызова header не должны быть никаких echo, var_dump и тому подобное.
0
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 39
19.07.2018, 10:15  [ТС] 6
Да, ошибка такая же, в коде где header('Location: /') нет ни var_dump, ни echo, этот код у меня в отдельном документе

Добавлено через 2 часа 12 минут
Я ничего больше не нашел, затрудняюсь в этой ошибке, может кто сможет еще что то подсказать, заранее благодарю)
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
20.07.2018, 04:45 7
Добавь в .htaccess строчку
php_value output_buffering = 4096
Но лучше найти ошибку, т. к. ошибка headera исчезнет, но запрос не выполнится.
0
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
22.07.2018, 01:58 8
Цитата Сообщение от Torovich Посмотреть сообщение
Добавь в .htaccess строчку
п


а он владелец?

или послушаем Jawacabra?
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
22.07.2018, 02:19 9
Цитата Сообщение от Сынок Посмотреть сообщение
а он владелец?
А какая разница?
0
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
22.07.2018, 02:26 10
Цитата Сообщение от Torovich Посмотреть сообщение
А какая разница?
если не читать доки и дразниться
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
22.07.2018, 03:46 11
Цитата Сообщение от Сынок Посмотреть сообщение
если не читать доки и дразниться
http://php.net/manual/ru/confi... .modes.php
0
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
22.07.2018, 13:30 12
Torovich,

то есть Вы настаиваете на php_value output_buffering = 4096 ???

а не проще тогда уже спрятаться за ob_start();

и не писать правильный код
0
87 / 48 / 24
Регистрация: 29.11.2016
Сообщений: 243
22.07.2018, 14:02 13
Сынок, Я не настаиваю. Я пишу, что можно подключить output_buffering в своей папке, если не можешь найти ошибку. Может пробел где поставил, может перенос строки. Уже будет понятно, куда копать. А так человек мучеется с запросм, все варианты перепробовал, а у него где то в другом месте пробел лишний.
0
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 39
26.07.2018, 19:22  [ТС] 14
Всем спасибо за комментарии, sasha0012 помог в этом вопросе, были лишние пробелы в конце кода после тэга ?>, все за работало, причем запрос в базу все равно проходил, я ее открыл сегодня а там все записи которые вводил когда выскакивала ошибка
0
26.07.2018, 19:22
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2018, 19:22
Помогаю со студенческими работами здесь

Не сохраняется информация в базу данных
Все работало пока я не захотел все красиво оформить. Ошибок никаких не выводит. И как выровнить...

Не добавляется информация в базу данных через форму
При добавлении товара в базу, пишет: &quot;Товар успешно добавлен&quot;. Но ничего не добавляется. форма...

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

При нажатии на компонент информация отправляется на почту
Простенький код пользователь нажал на какой-нибудь компонент на форме, тебе на почту отправилась...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее: Sub ПоляВТекст() Преобразует все поля в текст (даты, текст,. . .
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
Как работает async/await в C#. Асинхронное программировани­е в .NET
bytestream 23.01.2025
Введение в асинхронное программирование Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru