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

Переход на mysqli

01.05.2016, 09:10. Показов 1880. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
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 Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
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. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru