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

Не записываются буквы в БД

21.03.2014, 18:38. Показов 1443. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть хтмл-форма, из БД через mysqli_fetch_row берётся значение определённого столбца и пишется это значние в VALUE хтмл-формы.
При измнении формы в БД пишется новое значение.
Тип полей в БД стоит varchar(100) и text.

Цифры обрабатываются нормально, т.е. меняются и сохранаются. А вот буквы просто игнорируются. Причём в $_POST всё приходит.
Так же, если в самой БД у полей вручную поменять значение на буквы, то они тоже без проблем будут отображаться.

Код такой:
перебираем $_POST
PHP
1
2
3
4
5
6
if (isset($_POST['submit'])) {
    foreach($_POST as $k=>$v) {
        //echo "$k = $v || ";
        dbWrite($k, $v, $dbconnect);
    }
}
пишем в БД
PHP
1
2
3
4
5
function dbWrite($field, $data, $dbconnect) {
    $login = $_SESSION['login'];
    $query = "UPDATE users SET $field = $data WHERE login = $login";
    $result = mysqli_query($dbconnect, $query);
}
читаем из БД
PHP
1
2
3
4
5
6
7
function fieldName($data, $dbconnect) {
    $login = $_SESSION['login'];
    $query = "SELECT $data FROM users WHERE login=$login";
    $result = mysqli_query($dbconnect, $query);
    $result = mysqli_fetch_row($result);
    return $result[0];
}
P.s. так как только учусь, то буду рад и прочим советам по коду как правильней и лучше писать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.03.2014, 18:38
Ответы с готовыми решениями:

В выходной фаил записываются вместе с ответом записываются каракули. Помогите исправить ошибку
#include <iostream> using namespace std; void funk (int n, int k) { ...

Заменить в исходном файле русские буквы ‘к’ на буквы ‘т’, буквы ‘т’ на буквы ‘к’, буквы ‘л’ на буквы ‘в’, буквы ‘в’ на
Задание: Заменить в исходном файле русские буквы ‘к’ на буквы ‘т’, буквы ‘т’ на буквы ‘к’, буквы...

Напишите программу, которая заменяет в символьной строке все буквы a на буквы b , a буквы A на буквы B
Здравствуйте,помогите пожалуйста написать программу .Напишите программу, которая заменяет в...

Не записываются дампы
У меня начали вылетать экраны смерти, прочитал, что нужно записать дампы. Сделал всё как в...

2
Native x86
Эксперт Hardware
5514 / 3273 / 934
Регистрация: 13.02.2013
Сообщений: 10,424
21.03.2014, 18:43 2
Текстовые значения в SQL-запросе нужно как минимум брать в кавычки (MySQL поддерживает и двойные и одинарные), а как максимум -- вообще в запрос не подставлять а биндить через параметры (библиотека PDO).
1
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
21.03.2014, 18:45 3
Предположи, что в переменной $login у тебя слово одно "login". Тогда запрос
MySQL
1
... WHERE login=$login
будет
MySQL
1
.. WHERE login=login
Как база отличит, что тут текст, а поле если ты их одинаково написал? Текст в запросах всегда берется в кавычки, а то что не в кавычках расценивается как поле или таблица (от контекста).
PHP
1
2
3
4
5
function dbWrite($field, $data, $dbconnect) {
    $login = $_SESSION['login'];
    $query = "UPDATE users SET $field = '$data' WHERE login = '$login' ";
    $result = mysqli_query($dbconnect, $query);
}
1
21.03.2014, 18:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2014, 18:45
Помогаю со студенческими работами здесь

Данные не записываются в БД
Требуется помощь возникла ещё одна проблема данные не записываются в БД. config.php : ...

Не записываются числа
Написал программу, которая с помощью цикла записывает в файл числа от нуля до 423. Но почему то...

Данные не записываются в БД
Здравствуйте! Прошу помощи, потому что сам уже не понимаю. Есть БД в которую должны записываться...

В БД не записываются значения
Этот сервис обрабатывает поступившее сообщение. sms_body_name и sms_body_text имеют нужные...


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

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