Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ввод в конкретно столбец sql / 25 сообщений из 25, страница 1 из 1
28.02.2020, 13:30
    #39932137
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
$mysql->query("INSERT INTO `users` (`login`, `pass`, `name`)
VALUES('$login', '$pass', '$name')");

изменил на

$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");


база осталась та же. и не работает. можете помочь?
...
Рейтинг: 0 / 0
28.02.2020, 15:06
    #39932197
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Возможно, для отсутствующих в запросе полей таблицы отсутствуют значения по умолчанию.
Однако, отсюда не видно ни сообщения об ошибке, ни DDL таблицы. И не понятно, что именно не работает.
...
Рейтинг: 0 / 0
28.02.2020, 15:16
    #39932209
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
ошибку не выдает, проста не добавляет. Не могли бы вы подсказать как узнать DDL таблицы в phpmyadmin?
...
Рейтинг: 0 / 0
28.02.2020, 15:22
    #39932223
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
1 idIndex int(11) UNSIGNED No None AUTO_INCREMENT Change Drop More
2 login varchar(100) utf8_general_ci No None Change Drop More
3 pass varchar(32) utf8_general_ci No None Change Drop More
4 name varchar(50) utf8_general_ci No None Change Drop More
...
Рейтинг: 0 / 0
28.02.2020, 16:15
    #39932273
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
ошибку не выдает
Как Вы смотрите сообщение об ошибке?
...
Рейтинг: 0 / 0
28.02.2020, 16:19
    #39932275
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
Не могли бы вы подсказать как узнать DDL таблицы в phpmyadmin?
Точно так же, как и в любом другом клиенте. https://dev.mysql.com/doc/refman/5.7/en/show-create-table.html
...
Рейтинг: 0 / 0
28.02.2020, 16:20
    #39932276
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
если честно никак.

<?php
$num = filter_var(trim($_POST['login']),
FILTER_SANITIZE_STRING);

//if(mb_strlen($login) < 5 || mb_strlen($login) > 100) {
//echo "DLINA NEKOREKTNA";
//exit();
//}

$mysql = new mysqli('localhost', 'root', '', 'register-bd');
$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");

$mysql->close();

header('Location: /')
?>






<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>FORMA</title>
<link rel="stylesheet" href=" https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container mt-4">
<h1>FORMA</h1>
<form action="check.php" method="post">
<input type="text" class="form-control" name="login"
id="login" placeholder="VEDITE NOMER"><br>
<button class="btn btn-success" type="submit">ZAREGISTRIROVAT</button>
</form>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
28.02.2020, 17:18
    #39932305
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Table
Create Table
users
CREATE TABLE `users` (
`id` int(11) unsigned NOT...
...
Рейтинг: 0 / 0
28.02.2020, 19:05
    #39932367
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
если честно никак.
Ну так откройте для себя https://www.php.net/manual/ru/mysqli.error.php

malo13
CREATE TABLE `users` (
`id` int(11) unsigned NOT...
Партизанен? ;) А иначе зачем скрывать и недоговаривать?
Впрочем, дело хозяйское.
...
Рейтинг: 0 / 0
29.02.2020, 08:59
    #39932467
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Не понял, что скрываю? Если какая то информация не доканча выложена это не из за скрытность а из за отсуствия надлежащего знания! ;)

Если вы про это это мне выдал phpmyadmin после команды SHOW CREATE TABLE users;

Table
Create Table
users
CREATE TABLE `users` (
`id` int(11) unsigned NOT...

Если нужна еще какая то информация чтоб помочь мне скажите, мне нечего скрывать я учусь :)
...
Рейтинг: 0 / 0
29.02.2020, 09:35
    #39932468
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13,

Да, про это. Видите открывающую скобку после CREATE TABLE? Должна быть парная ей закрывающая. Между этих скобок представлена главная описательная часть таблицы - в основном, по одной строчке на каждое поле или на индекс. Вы показали только поле `id`, о котором речи в вопросе не идет вовсе. Проблемные поля Вы не показали.
Возможно, используемая программа показывает по умолчанию лишь некоторую часть запрашиваемых данных, а для показа полных данных требуется выполнить какие-либо дополнительные действия. Тогда придется изучать эту программу. Оно, уж точно, выходит далеко за рамки этого форума. Возможно, эта используемая программа слишком сложна для Вас на начальных этапах. Как вариант, есть штатный консольный клиент, поставляемый вместе с сервером mysql, он не обрезает вывод.
...
Рейтинг: 0 / 0
29.02.2020, 09:48
    #39932470
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Table,Create Table
users,"CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(100) NOT NULL,
`pass` varchar(32) NOT NULL,
`name` varchar(50) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8"
...
Рейтинг: 0 / 0
29.02.2020, 10:04
    #39932471
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Предположение оказалось верным - все поля таблицы обязательные, а дефолтовых значений для отсутствующих в запросе полей нет. СУБД не знает, что туда следует записать и отдает сообщение об ошибке, которое, впрочем, Вас не интересует.
...
Рейтинг: 0 / 0
29.02.2020, 10:17
    #39932474
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Спасибо за помощь!

Я так понял что NOT NULL осзначает что это поле должно быть обязательно заполнено?
"дефолтовых значений для отсутствующих в запросе полей нет." а это что значит?
...
Рейтинг: 0 / 0
29.02.2020, 10:43
    #39932478
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
Я так понял что NOT NULL осзначает что это поле должно быть обязательно заполнено?
Точнее, оно означает, что значение NULL для поля не допускается. В общем случае, значение NULL может быть передано явно, как и любое другое значение. Оно так же генерится автоматически, если данные для поля не переданы.

malo13
"дефолтовых значений для отсутствующих в запросе полей нет." а это что значит?
Ровно то и значит. Если не знаете понятия "значение по дефолту" или "значение по умолчанию" - изучите его.
Для полей значение по дефолту можно указать в директиве DEFAULT, смотрите документацию: https://dev.mysql.com/doc/refman/5.7/en/create-table.html Учебник по основам MySQL тоже не помешает.
...
Рейтинг: 0 / 0
29.02.2020, 12:41
    #39932494
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Изменил, но все равно не записывает


Table,Create Table
users,"CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(100) NOT NULL DEFAULT 'default_value',
`pass` varchar(32) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=31 DEFAULT CHARSET=utf8"
...
Рейтинг: 0 / 0
29.02.2020, 12:45
    #39932497
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Текст сообщения об ошибке скопипастите сюда.
...
Рейтинг: 0 / 0
29.02.2020, 12:57
    #39932499
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
<?php
$num = filter_var(trim($_POST['login']),
FILTER_SANITIZE_STRING);

//if(mb_strlen($login) < 5 || mb_strlen($login) > 100) {
//echo "DLINA NEKOREKTNA";
//exit();
//}

$mysql = new mysqli('localhost', 'root', '', 'register-bd');
$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");


$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if ($mysqli->connect_errno) {
printf("Соединение не удалось: %s\n", $mysqli->connect_error);
exit();
}

if (!$mysqli->query("SET a=1")) {
printf("Сообщение ошибки: %s\n", $mysqli->error);
}

$mysql->close();

header('Location: /')
?>

Выдает такую ошибку, но базу заполняет.


Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'my_user'@'localhost' (using password: YES) in C:\OSPanel\domains\test\check.php on line 25
Соединение не удалось: Access denied for user 'my_user'@'localhost' (using password: YES)



А здесь тоже выдает ошибку и базу не заполняет .

Warning: mysqli::__construct(): (HY000/1045): Access denied for user 'my_user'@'localhost' (using password: YES) in C:\OSPanel\domains\me\check.php on line 14
Соединение не удалось: Access denied for user 'my_user'@'localhost' (using password: YES)

<?php
$num = filter_var(trim($_POST['login']),
FILTER_SANITIZE_STRING);

//if(mb_strlen($login) < 5 || mb_strlen($login) > 100) {
//echo "DLINA NEKOREKTNA";
//exit();
//}

$mysql = new mysqli('localhost', 'root', '', 'register-bd');
$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");


$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Проверить соединение */
if ($mysqli->connect_errno) {
printf("Соединение не удалось: %s\n", $mysqli->connect_error);
exit();
}

if (!$mysqli->query("SET a=1")) {
printf("Сообщение ошибки: %s\n", $mysqli->error);
}

$mysql->close();

header('Location: /')
?>
...
Рейтинг: 0 / 0
29.02.2020, 12:59
    #39932500
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
создает новую строку но пустую
...
Рейтинг: 0 / 0
29.02.2020, 13:08
    #39932503
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
$mysql = new mysqli('localhost', 'root', '', 'register-bd');
$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");


$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
Зачем нагорожен этот огород с двумя коннектами, к тому же, второй
malo13
Access denied for user 'my_user'@'localhost' (using password: YES)
явно нерабочий?


malo13
создает новую строку но пустую
Что значит "пустую"? Даже id в новой строчке отсутствует? ;)
...
Рейтинг: 0 / 0
29.02.2020, 13:15
    #39932505
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
И, кстати, где в коде определена переменная $login
?
...
Рейтинг: 0 / 0
29.02.2020, 13:22
    #39932508
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
Во первых спасибо вам за терпение и разъяснение!



<?php
$num = filter_var(trim($_POST['login']),
FILTER_SANITIZE_STRING);

//if(mb_strlen($login) < 5 || mb_strlen($login) > 100) {
//echo "DLINA NEKOREKTNA";
//exit();
//}

$mysql = new mysqli('localhost', 'root', '', 'register-bd');
$mysql->query("INSERT INTO `users` (`login`) VALUES('$login')");


/* Проверить соединение */
if ($mysqli->connect_errno) {
printf("Соединение не удалось: %s\n", $mysqli->connect_error);
exit();
}

if (!$mysqli->query("SET a=1")) {
printf("Сообщение ошибки: %s\n", $mysqli->error);
}

$mysql->close();

header('Location: /')
?>


сейчас ошибка

Fatal error: Uncaught Error: Call to a member function query() on null in C:\OSPanel\domains\me\check.php:20 Stack trace: #0 {main} thrown in C:\OSPanel\domains\me\check.php on line 20


а что касется заполнения получаю такой результат.



-- Adminer 4.7.3 MySQL dump

SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(100) NOT NULL DEFAULT 'default_value',
`pass` varchar(32) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `users` (`id`, `login`, `pass`, `name`) VALUES
(1, 'dddddddd', '45678934', 'fsdgsdf'),
(2, 'vvvvvvvvv', '1234567890', 'kkkkkkkkk'),
(3, 'dddddddd', '666666666', 'fsdgsdf'),
(4, 'dddddddd', '88888888', 'fsdgsdf'),
(5, 'dddddddd', '99999999999', 'fsdgsdf'),
(6, 'dddddddd', '777777777', 'fsdgsdf'),
(7, 'dddddddd', '777777777', 'fsdgsdf'),
(8, 'sdasdasd', '555555555', 'sdasdassd'),
(9, 'codiddd', '665644455', 'fsdgsdf'),
(10, 'nsjdksdls', '12344444', 'ksieroiwp'),
(11, 'dddddddd', '655454545', 'fsdgsdf'),
(12, 'ppppppppppp', '333333333333333', 'mmmmmmmmmmmmm'),
(13, 'adminnnn', 'ec8e86fc0b03b5c8a5effd7841ca4644', 'adminnnn'),
(14, 'ggggggggg', 'b7f7e0527848632c3c308c6ac792083f', 'yyyyyyyyyyyy'),
(15, 'ddd ggg hhh', '6b9cf4ee8820600b7eb20c8d26a906b2', 'dfsdfsdfsdfsdf'),
(16, 'pppppppppppp', 'f134bd6a28e261756f90d04d3127188a', 'pppppppppppp'),
(29, '', NULL, NULL),
(19, '', '', ''),
(20, '', NULL, NULL),
(30, '', NULL, NULL),
(31, '', NULL, NULL),
(32, '', NULL, NULL),
(33, 'dddddddd', 'ce58fe2635d471ff6ad0c5337d771bc1', 'fsdgsdf'),
(34, '', NULL, NULL),
(35, '', NULL, NULL);

-- 2020-02-29 10:22:10
...
Рейтинг: 0 / 0
29.02.2020, 14:17
    #39932514
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
malo13
Fatal error: Uncaught Error: Call to a member function query() on null in C:\OSPanel\domains\me\check.php:20
Подозреваю, что 20 строка кода это
malo13
if (!$mysqli->query("SET a=1")) {

Ничего удивительного, ведь переменная $mysqli то ли с потолка свалилась в Ваш код, то ли с бухты-барахты. Во всяком случае, в приведенном коде она не определена. Если б Вы желали видеть сообщения об ошибках PHP, то обнаружили бы сей прискорбный факт ещё раньше, на строке
malo13
if ($mysqli->connect_errno) {



malo13
а что касется заполнения получаю такой результат.
Вполне ожидаемо. Значение ранее не определенной переменной $login после неявных преобразований PHP трактовал как "пустая строка", оно и было использовано при вставке последних записей.
...
Рейтинг: 0 / 0
29.02.2020, 15:53
    #39932529
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
"Вполне ожидаемо. Значение ранее не определенной переменной $login после неявных преобразований PHP трактовал как "пустая строка", оно и было использовано при вставке последних записей."

и как это исправить?
...
Рейтинг: 0 / 0
29.02.2020, 16:01
    #39932531
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод в конкретно столбец sql
исправил. спасибо за помощь!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ввод в конкретно столбец sql / 25 сообщений из 25, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]