Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109

Переход на mysqli

01.05.2016, 09:10. Показов 2108. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
При переходе на mysqli возникли проблемы с загрузкой данных на сервер,ошибок не каких нет, данные с базы выводятся но не загружаются, подскажите как код подправить.
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
// Сообщение об ошибке:
error_reporting(E_ALL^E_NOTICE);
 
include "connect.php";
include "comment.class.php";
 
/*
/   Данный массив будет наполняться либо данными,
/   которые передаются в скрипт,
/   либо сообщениями об ошибке.
/*/
 
$arr = array();
$validates = Comment::validate($arr);
if($validates)
{
    /* Все в порядке, вставляем данные в базу: */
    
    mysqli_query("INSERT INTO comments(name,url,email,body)
                    VALUES (
                        '".$arr['name']."',
                        '".$arr['url']."',
                        '".$arr['email']."',
                        '".$arr['body']."'
                    )");
    
    $arr['dt'] = date('r',time());
    $arr['id'] = mysqli_insert_id();
    
    /*
    /   Данные в $arr подготовлены для запроса mysql,
    /   но нам нужно делать вывод на экран, поэтому 
    /   готовим все элементы в массиве:
    /*/
    
    $arr = array_map('stripslashes',$arr);
    
    $insertedComment = new Comment($arr);
 
    /* Вывод разметки только-что вставленного комментария: */
 
    echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
 
}
else
{
    /* Вывод сообщений об ошибке */
    echo '{"status":0,"errors":'.json_encode($arr).'}';
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.05.2016, 09:10
Ответы с готовыми решениями:

Переход на mysqli
Здравствуйте, подскажите как исправить эту ошибку, хотя вроде mysqli поддерживается в версиях 5+? phpmyadmin: Информация о версии: 4.5.1,...

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

Переход с mysql на mysqli
Всем доброго времени суток! Помогите пожалуйста решить проблему перехода с mysql на mysqli Проект состоит из следующих файлов: ...

53
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
01.05.2016, 16:32  [ТС]
Студворк — интернет-сервис помощи студентам
Kerry_Jr, Можете мне ещё с двумя вопросами помочь?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.05.2016, 16:34
Цитата Сообщение от alex380 Посмотреть сообщение
Можете мне ещё с двумя вопросами помочь?
Вы задавайте, не стесняйтесь. Не я, так кто-нибудь другой.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
01.05.2016, 16:42  [ТС]
Kerry_Jr, Данные из формы попадают в 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$(document).ready(function(){
    /* Следующий код выполняется только после загрузки DOM */
    
    /* Данный флаг предотвращает отправку нескольких комментариев: */
    var working = false;
    
    /* Ловим событие отправки формы: */
    $('#addCommentForm').submit(function(e){
 
        e.preventDefault();
        if(working) return false;
        
        working = true;
        $('#submit').val('Занято...');
        $('span.error').remove();
        
        /* Отправляем поля формы в submit.php: */
        $.post('comment/submit.php',$(this).serialize(),function(msg){
 
            working = false;
            $('#submit').val('Отправить');
            
            if(msg.status){
 
                /* 
                /   Если вставка была успешной, добавляем комментарий 
                /   ниже последнего на странице с эффектом slideDown
                /*/
 
                $(msg.html).hide().insertBefore('#addCommentContaine').slideDown();
                $('#body').val('');
            }
            else {
 
                /*
                /   Если есть ошибки, проходим циклом по объекту
                /   msg.errors и выводим их на страницу
                /*/
                
                $.each(msg.errors,function(k,v){
                    $('label[for='+k+']').append('<span class="error">'+v+'</span>');
                });
            }
        },'json');
 
    });
    
});
Далее в обработчик
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
include "connect.php";
include "comment.class.php";
 
/*
/   Данный массив будет наполняться либо данными,
/   которые передаются в скрипт,
/   либо сообщениями об ошибке.
/*/
 
$arr = array();
$validates = Comment::validate($arr);
 
if($validates)
{
    /* Все в порядке, вставляем данные в базу: */
    
    mysqli_query($mysqli,"INSERT INTO comments(name,url,email,body)
                    VALUES (
                        '".$arr['name']."',
                        '".$arr['url']."',
                        '".$arr['email']."',
                        '".$arr['body']."'
                    )");
    
    $arr['dt'] = date('r',time());
    $arr['id'] = mysqli_insert_id();
    
    /*
    /   Данные в $arr подготовлены для запроса mysql,
    /   но нам нужно делать вывод на экран, поэтому 
    /   готовим все элементы в массиве:
    /*/
    
    $arr = array_map('stripslashes',$arr);
    
    $insertedComment = new Comment($arr);
 
    /* Вывод разметки только-что вставленного комментария: */
 
    echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
 
}
else
{
    /* Вывод сообщений об ошибке */
    echo '{"status":0,"errors":'.json_encode($arr).'}';
}
Вопрос 1
Данные тормозятся в JS на этом месте
JavaScript
1
$('#submit').val('Занято...');
как исправить?
Вопрос 2
Перепишите пожалуйста скрипт
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
include "connect.php";
include "comment.class.php";
 
/*
/   Данный массив будет наполняться либо данными,
/   которые передаются в скрипт,
/   либо сообщениями об ошибке.
/*/
 
$arr = array();
$validates = Comment::validate($arr);
 
if($validates)
{
    /* Все в порядке, вставляем данные в базу: */
    
    mysqli_query($mysqli,"INSERT INTO comments(name,url,email,body)
                    VALUES (
                        '".$arr['name']."',
                        '".$arr['url']."',
                        '".$arr['email']."',
                        '".$arr['body']."'
                    )");
    
    $arr['dt'] = date('r',time());
    $arr['id'] = mysqli_insert_id();
    
    /*
    /   Данные в $arr подготовлены для запроса mysql,
    /   но нам нужно делать вывод на экран, поэтому 
    /   готовим все элементы в массиве:
    /*/
    
    $arr = array_map('stripslashes',$arr);
    
    $insertedComment = new Comment($arr);
 
    /* Вывод разметки только-что вставленного комментария: */
 
    echo json_encode(array('status'=>1,'html'=>$insertedComment->markup()));
 
}
else
{
    /* Вывод сообщений об ошибке */
    echo '{"status":0,"errors":'.json_encode($arr).'}';
}
в процедурный, если не сложно).
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.05.2016, 17:08
Цитата Сообщение от alex380 Посмотреть сообщение
в процедурный, если не сложно)
Не сложно, но здесь и так все в процедурном варианте. В файле connect.php, вместо
PHP
1
$mysqli = new mysqli("", "", "", "");// здесь ваши данные
Пропишите
PHP
1
$mysqli = mysqli_connect("", "", "", ""); //здесь ваши данные
А лучше выложите содержимое connect.php, связанное с подключением к базе.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
01.05.2016, 17:12  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
А лучше выложите содержимое connect.php, связанное с подключением к базе.
PHP
1
2
3
4
5
6
7
include_once ('psl_config.php');   
 
$mysqli = new mysqli("", "", "", "");
if (mysqli_connect_errno()) {
    printf("Не удалось подключиться: %s\n", mysqli_connect_error());
    exit();
}
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.05.2016, 17:15
А с jQuery я пока не очень дружу.

Добавлено через 1 минуту
alex380, в connect.php замените строчку, о которой я написал, тогда все, что связано с БД, будет в процедурном стиле.
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
01.05.2016, 17:30  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
А с jQuery я пока не очень дружу.
Добавление комментов с задействованием jQuery сделано для того, что бы комменты добавлялись без перезагрузки страницы, ладно с этим завтра буду разбираться.
Помогите с другим вопросом
Есть функция
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Функция выбора инфы из таблицы
function get_img ($mysqli)
{
    $sgl = "SELECT * FROM img";
    $result = mysqli_query($mysqli, $sgl);
    
    if (!$result)
        die (mysqli_error($mysqli));
    $n = mysqli_num_rows($result);
    $arr = array ();
    
    for ($i = 0; $i < $n; $i++)
    {
        $row = mysqli_fetch_assoc($result);
        $arr[] = $row;
    }
    return $arr;    
}
вызов функции
PHP
1
2
3
4
$images = get_img ($mysqli);
                                  foreach ($images as $a)
                                  
                                  var_dump($a);
в переменной $a по данным var_dump массив
PHP
1
array(4) { ["id"]=> string(2) "27" ["name"]=> string(12) "DSC00015.JPG" ["type"]=> string(10) "image/jpeg" ["text"]=> string(23) "hhhhhhhhhhhjjjjjjjjjjjj" }
Что нужно прописать, что бы на экран выводилась фото(["name"]=> string(12) "DSC00015.JPG) и описание (["text"]=> string(23) "hhhhhhhhhhhjjjjjjjjjjjj")
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
01.05.2016, 17:49
alex380, в каком виде вы хотите вывести изображение и описание, я имею в виду HTML?
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
01.05.2016, 18:14  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
в каком виде вы хотите вывести изображение и описание, я имею в виду HTML?
HTML5
1
2
3
4
5
6
7
8
9
<div class="col-md-3">
    <div class="portfolio-item">
        <div class="overlay">
            <a href="https://www.cyberforum.ru/images/waterPurification/wwru/r.png" class="lightbox-gal-1"><i class="fa fa-search"></i></a>
        </div>
        <img src="https://www.cyberforum.ru/images/waterPurification/wwru/r.png" alt="Системы удаления железа fa" />
    </div>
    <p>описание</p>
</div>
Добавлено через 20 минут
Kerry_Jr,
Вот так текст выводится без проблем
PHP
1
2
3
$images = get_img ($mysqli);
        foreach ($images as $a)
              echo $a['text'] . '<br>';
Пытаюсь добавить изображение
PHP
1
2
3
4
$images = get_img ($mysqli);
                                  foreach ($images as $a)
                                  echo '<img srs ="images/img '.$a['name'].'" >'. '<br>';
                                  echo $a['text'] . '<br>';
изображения нет и текст выводится только один (последнее добавление в базу)
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.05.2016, 14:41
Цитата Сообщение от alex380 Посмотреть сообщение
PHP
1
echo '<img srs ="https://www.cyberforum.ru/images/img '.$a['name'].'" >'. '<br>';
PHP
1
echo '<img src ="https://www.cyberforum.ru/images/img/'.$a['name'].'" >'. '<br>';
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
02.05.2016, 14:51  [ТС]
Kerry_Jr, Не могу разницы в строках уловить)
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.05.2016, 16:30
Цитата Сообщение от alex380 Посмотреть сообщение
Не могу разницы в строках уловить)
Сравнивайте посимвольно
0
0 / 0 / 0
Регистрация: 27.11.2015
Сообщений: 109
02.05.2016, 16:50  [ТС]
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
Сравнивайте посимвольно
Слеш добавился

Добавлено через 1 минуту
Kerry_Jr,
Заработало), а почему без него не работало?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
02.05.2016, 21:09
Цитата Сообщение от alex380 Посмотреть сообщение
Заработало), а почему без него не работало?
Не только слеш, но еще srs => src.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.05.2016, 21:09

Warning: mysqli::query() [mysqli.query]: Couldn't fetch mysqli in
Здравствуйте! Подскажите как решить проблему с выдаваемыми ошибками: Вот сам файл install.php &lt;?php //Подключение нужных...

Ошибка mysqli::query(): Couldn't fetch mysqli
Здравствуйте) Пытаюсь вывести в БД данные из html формы, максимально сократила код php, убрала все проверки, чтобы найти проблему....

Переход на MySQLi
В php вообще не шарю, может кто поможет перейти на mysqli, видел статьи в интернете, но без базовых знаний все равно трудно что-то сделать....

Ошибка подключения к БД: Warning: mysqli::mysqli() [mysqli.mysqli]: (28000/1045): Access denied for user
Есть магазин на OpenCart, необходимо сделать, чтобы при введении посетителем определенной инфы в форме эта инфа сохранялась в базе данных....

Warning: mysqli::mysqli() [mysqli.mysqli]: php_network_getaddresses: getaddrinfo failed: Этот хост неизвестен
Денвер запущен, локалхост доступен, через cmd логинюсь в mysql.exe успешно. Вот что выводится на странице при попытке подключения к...


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

Или воспользуйтесь поиском по форуму:
54
Ответ Создать тему
Новые блоги и статьи
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости. Решение: Создан документ со следующими. . .
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово. Решение: Создан документ с единственным. . .
Сумма и количество положительных элементов в чётных строках массива
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Вычислить сумму и количество положительных элементов массива, расположенных в четных строках. Решение: Создан документ с. . .
Поиск произведения положительных чётных чисел в последовательности
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Дана произвольная последовательность целых чисел. Найти произведение положительных четных чисел данной последовательности. . . .
Обработка трёх чисел: утроение и возведение в степень
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Даны три действительных числа. Утроить те из них, значения которых неотрицательны, и возвести в четвертую степень отрицательные. . . .
Расчёт стоимости яблок по весу
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Написать программу вычисления стоимости некоторого количества (по весу) яблок. Решение: Создан документ, с табличной частью. . .
сукцессия 30. Фосфорный и азотный замки по "честному" закону лимитирования Либиха
anaschu 16.07.2026
Основные достижения за последние дни 1. Механизм отложенного высвобождения фосфора Добавлен специальный пул для медленного разложения меланизированных гиф ЕСМ Реализована разная скорость. . .
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2. Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru