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

изменил на

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


база осталась та же. и не работает. можете помочь?
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932197
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, для отсутствующих в запросе полей таблицы отсутствуют значения по умолчанию.
Однако, отсюда не видно ни сообщения об ошибке, ни DDL таблицы. И не понятно, что именно не работает.
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932209
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибку не выдает, проста не добавляет. Не могли бы вы подсказать как узнать DDL таблицы в phpmyadmin?
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932223
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Ввод в конкретно столбец sql
    #39932273
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malo13
ошибку не выдает
Как Вы смотрите сообщение об ошибке?
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932275
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malo13
Не могли бы вы подсказать как узнать DDL таблицы в phpmyadmin?
Точно так же, как и в любом другом клиенте. https://dev.mysql.com/doc/refman/5.7/en/show-create-table.html
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932276
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если честно никак.

<?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
Ввод в конкретно столбец sql
    #39932305
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Table
Create Table
users
CREATE TABLE `users` (
`id` int(11) unsigned NOT...
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932367
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malo13
если честно никак.
Ну так откройте для себя https://www.php.net/manual/ru/mysqli.error.php

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

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

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

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

Да, про это. Видите открывающую скобку после CREATE TABLE? Должна быть парная ей закрывающая. Между этих скобок представлена главная описательная часть таблицы - в основном, по одной строчке на каждое поле или на индекс. Вы показали только поле `id`, о котором речи в вопросе не идет вовсе. Проблемные поля Вы не показали.
Возможно, используемая программа показывает по умолчанию лишь некоторую часть запрашиваемых данных, а для показа полных данных требуется выполнить какие-либо дополнительные действия. Тогда придется изучать эту программу. Оно, уж точно, выходит далеко за рамки этого форума. Возможно, эта используемая программа слишком сложна для Вас на начальных этапах. Как вариант, есть штатный консольный клиент, поставляемый вместе с сервером mysql, он не обрезает вывод.
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932470
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Ввод в конкретно столбец sql
    #39932471
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположение оказалось верным - все поля таблицы обязательные, а дефолтовых значений для отсутствующих в запросе полей нет. СУБД не знает, что туда следует записать и отдает сообщение об ошибке, которое, впрочем, Вас не интересует.
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932474
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь!

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

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


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
Ввод в конкретно столбец sql
    #39932497
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст сообщения об ошибке скопипастите сюда.
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932499
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<?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
Ввод в конкретно столбец sql
    #39932500
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создает новую строку но пустую
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932503
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Ввод в конкретно столбец sql
    #39932505
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, где в коде определена переменная $login
?
...
Рейтинг: 0 / 0
Ввод в конкретно столбец sql
    #39932508
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во первых спасибо вам за терпение и разъяснение!



<?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
Ввод в конкретно столбец sql
    #39932514
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Ввод в конкретно столбец sql
    #39932529
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Вполне ожидаемо. Значение ранее не определенной переменной $login после неявных преобразований PHP трактовал как "пустая строка", оно и было использовано при вставке последних записей."

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


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