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

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

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

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

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 query = From mold In dm.mold Where...

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

13
31 / 46 / 19
Регистрация: 18.07.2018
Сообщений: 578
18.07.2018, 18:38
Лучший ответ Сообщение было отмечено 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
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  [ТС]
с первой строкой получилось спасибо, в второй строке в SELECT нужно только вместо запятых AND или OR написать

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru