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

Функция mysql возвращает false. Хотя всё делаю правильно

17.10.2015, 17:23. Показов 2259. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята почему функция mysqli_query() выдаёт Flase понять не могу где ошибка . Пол интернета перерыл и нигде толкового ответа.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$Name = $_POST['Name'];
$Sex =$_POST['sex'];
$Work = $_POST['work'];
$Email =$_POST['email'];
$Patronymic=$_POST['Patronymic'];
$Surname = $_POST['Surname'];
$MiritalStatus =$_POST['MiritalStatus'];
 
 
$connect = mysqli_connect('localhost','root','123456','tranning_clients');
 
if($connect) {echo "Соединение произведено успешно<br>";}
else "Соединение не произведено!<br>";
 
$query ="INTO INSERT clients('Name','Surname','Patronymic','SEX','Mirital_Status','Work','Email') VALUE($Name,$Surname,$Patronymic,$Sex,$MiritalStatus,$Work,$Email)";
 
if(mysqli_set_charset($connect,"utf8"))echo("Выборка кодировки произведена успешно!<br>");
 
mysqli_query($connect,$query) or die("Ошибка!");
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2015, 17:23
Ответы с готовыми решениями:

Функция mail() возвращает false
Ребята такой вопрос... Не отправляется сообщение мне на почту через функцию mail(). Выдает false. Скачал sendmail настроил его читая...

Функция mail возвращает False
Доброго времени функция mail не отправляет письма, возвращает false CentOS 6.7 IspManager 5 Lite подскажите что может быть, был на...

Почему-то функция возвращает undefined, хотя должна true/false
function checkUsername() { var username = $('#user').val(); var re = /^{1,32}$/; var res = re.test(username); if(!res) { ...

17
Заблокирован
17.10.2015, 17:28
Цитата Сообщение от Jamset Посмотреть сообщение
Пол интернета перерыл
строковые значения в sql в кавычках.одинарных.можно было весь интернет перерыть. ..
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.10.2015, 18:42
Цитата Сообщение от Jamset Посмотреть сообщение
$query ="INTO INSERT clients(
SQL
1
INSERT INTO
0
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 40
17.10.2015, 18:52  [ТС]
исправил. всё равно не работает
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.10.2015, 19:03
Цитата Сообщение от Jamset Посмотреть сообщение
VALUE($Name,$Surname,$Patronymic
values

Добавлено через 5 минут
Цитата Сообщение от Jamset Посмотреть сообщение
('Name','Surname','Patronymic','SEX','Mi rital_Status','Work','Email')
SQL
1
(`Name`,`Surname`,`Patronymic`,`SEX`,`Mirital_Status`,`Work`,`Email`)
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
17.10.2015, 19:21
И пробел не забыть между VALUES и открывающей скобкой.
Добавьте вывод ошибок mysql:
PHP
1
mysql_query($query) or die(mysql_error());
Читайте ошибки, выводите свой запрос на экран и сравнивайте с примерами запросов в интернете. Ошибки реально простейшие.
0
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 40
17.10.2015, 20:39  [ТС]
одинарные кавычки должны быть косыми?

Добавлено через 4 минуты
добавил вывод ошибок . Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\Apache24\htdocs\TranningWithForms\for mTranning.php on line 20
0
433 / 352 / 259
Регистрация: 29.11.2011
Сообщений: 628
17.10.2015, 20:52
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$Name = $_POST['Name'];
$Sex = $_POST['sex'];
$Work = $_POST['work'];
$Email = $_POST['email'];
$Patronymic = $_POST['Patronymic'];
$Surname = $_POST['Surname'];
$MiritalStatus =$_POST['MiritalStatus'];
 
 
$connect = mysqli_connect('localhost', 'root', '123456', 'tranning_clients');
 
if ($connect) echo "Соединение произведено успешно<br>";
else echo "Соединение не произведено!<br>";
 
$query = "INTO INSERT clients('Name', 'Surname', 'Patronymic', 'SEX', 'Mirital_Status', 'Work', 'Email') VALUE($Name, $Surname, $Patronymic, $Sex, $MiritalStatus, $Work,$Email)";
 
if (mysqli_set_charset($connect, "utf8")) echo("Выборка кодировки произведена успешно!<br>");
 
mysqli_query($connect, $query) or die(mysqli_error($connect));
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
17.10.2015, 20:57
Jamset, прошу прощения, в mysqli_query нужно добавить ресурс соединения с БД:
PHP
1
mysql_query($query) or die(mysql_error($connect));
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.10.2015, 21:16
Цитата Сообщение от Jamset Посмотреть сообщение
одинарные кавычки должны быть косыми?
имена таблиц, полей в косых кавычках. данные, в одинарных(обыкновенных)
0
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 40
17.10.2015, 21:26  [ТС]
Jodah, сделал как вы сказали. ВОт результат

Соединение произведено успешно
Выборка кодировки произведена успешно!
Ошибка!
Unknown column 'Вася' in 'field list'
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.10.2015, 21:35
Цитата Сообщение от Jamset Посмотреть сообщение
Unknown column 'Вася' in 'field list'
неизвестный столбец 'Вася'. что-то вы намудрили с запросом. покажите полностью код, при котором выпадает эта ошибка
0
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 40
17.10.2015, 21:49  [ТС]
Вот мои Html Формочки
HTML5
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<style>
.styleForm{
 
margin: auto;
position:absolute;
border:solid 1px black;
padding: 35px;
left: 650px;
top:200px;
background-color:rgba(105,169,70,0.5);
border-radius: 35px;
}
 
</style>
</head>
 
<body>
 
<form id = "myForm" class="styleForm" method="post" action="formTranning.php">
<b>Ваше имя:</b>
<br>
<input type="text" name="Name">
<br>
<b>Ваша фамилия:</b>
<br>
<input type="text"  name="Surname" >
<br>
<b>Ваше отчество:</b>
<br>
<input type="text" name="Patronymic">
<br>
<b>Пол:</b>
<br>
Мужской<input type="radio" name="sex"  value="M"> Женский<input type="radio" name="sex" value="F">
<br>
<br>
 
<b>Семейное положение:</b>
 
<br>
Женат/Замужем <input type="radio"  name="MiritalStatus" value="Женат/Замужем">
 Не женат/Не замужем <input type="radio"  name="MiritalStatus" value="Не женат/Не замужем">
 <br>
 <br>
<b> Место работы:</b>
 <br>
 <br>
 <input type="text" name="work" >
 <br>
 <br>
<b> Ваш email адрес:</b>
 <br>
 <br>
 <input type="text" name="email" >
 <br>
 <br>
 <input type="submit" name="mySubmit" value="Зарегистрироваться" style="height:40px; border-radius:5px;">
</form>
</body>
 
</html>
Вот PHP код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$Name = $_POST['Name'];
$Sex =$_POST['sex'];
$Work = $_POST['work'];
$Email =$_POST['email'];
$Patronymic=$_POST['Patronymic'];
$Surname = $_POST['Surname'];
$MiritalStatus =$_POST['MiritalStatus'];
 
 
$connect = mysqli_connect("localhost","root","123456","tranning_clients");
 
if($connect) {echo "Соединение произведено успешно<br>";}
else "Соединение не произведено!<br>";
$query ="INSERT INTO `clients` (`Name`,`Surname`,`Patronymic`,`SEX`,`Mirital_Status`,`Work`,`Email`) VALUES($Name,$Surname,$Patronymic,$Sex,$MiritalStatus,$Work,$Email)";
 
 
if(mysqli_set_charset($connect,"utf8"))echo("Выборка кодировки произведена успешно!<br>");
mysqli_query($connect,$query) or die("Ошибка!<br>". mysqli_error($connect));
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
17.10.2015, 23:33
Лучший ответ Сообщение было отмечено Jamset как решение

Решение

Читайте внимательней замечания выше.
1. Между VALUES и скобкой должен быть пробел.
2. Все значения внутри VALUES должны обрамляться кавычками. Т.е. не $Name, а '$Name'.
1
0 / 0 / 0
Регистрация: 10.09.2015
Сообщений: 40
18.10.2015, 16:25  [ТС]
Jodah, вот,что ещё хочу сказать . В этой переменной и её строке $query ="INSERT INTO `clients` (`Name`,`Surname`,`Patronymic`,`SEX`,`Mi rital_Status`,`Work`,`Email`) VALUES($Name,$Surname,$Patronymic,$Sex,$ MiritalStatus,$Work,$Email)";
в названии таблицы clients не нужны косые кавычки! И в скобках после названии таблицы, где перечисляются названия колонок не нужны никакие кавычки! Кавычки нужны только в параметрах VALUE , где перечиляются переменные. Вот так правильно : $query ="INSERT INTO clients (Name,Surname,Patronymic,SEX,Mirital_Sta tus,Work,Email) VALUES('$Name','$Surname','$Patronymic', $Sex','$MiritalStatus','$Work','$Email') ";

И наплевать, есть пробел после команды VALUES или нет.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
18.10.2015, 16:58
Цитата Сообщение от Jamset Посмотреть сообщение
в названии таблицы clients не нужны косые кавычки! И в скобках после названии таблицы, где перечисляются названия колонок не нужны никакие кавычки!
в принципе, можно обойтись и без обратных кавычек. но если они будут, это не вызовет ошибку.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
18.10.2015, 17:06
Цитата Сообщение от Jamset Посмотреть сообщение
не нужны никакие кавычки! Кавычки нужны только в параметрах VALUE
в вашем случае можно обойтись и без обратных кавычек, но если бы не осознанно написали какое не будь зарезервираваное слово то без этих ковычек была бы ошибка. В VALUE тоже не всегда нужны кавычки.
Почитай про синтаксис MySQL
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
18.10.2015, 17:49
Цитата Сообщение от Jamset Посмотреть сообщение
в названии таблицы clients не нужны косые кавычки! И в скобках после названии таблицы, где перечисляются названия колонок не нужны никакие кавычки!
Не "не нужны", а не обязательны. Но если решите использовать зарезервированные слова вроде date или order - тогда будут нужны.
Цитата Сообщение от Jamset Посмотреть сообщение
Кавычки нужны только в параметрах VALUE , где перечиляются переменные.
Опять же, нужны только для строк. Для цифр и NULL не нужны.
Цитата Сообщение от Jamset Посмотреть сообщение
И наплевать, есть пробел после команды VALUES или нет.
Плеваться не надо, карму испортите. А насчёт пробела - да, только что проверил, действительно можно писать VALUES слито со скобкой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.10.2015, 17:49
Помогаю со студенческими работами здесь

CopyFile возвращает false, хотя не должен
Здравствуйте. В коде ниже CopyFile возвращает false: procedure TMainForm.N22Click(Sender: TObject); var fileName, fileName0:...

Всё ли я правильно делаю ?
Сегодня, считай, первый день как начал изучать С++. В качестве компиляции использую Microsoft Visual C++ 2010 Express. И хочу узнать Ваше...

Password_verify возвращает false, хотя данные корректны
Здравствуйте, при использовании password_verify получаю false, параметры при этом передаю верные. Из-за чего это и как исправить? Вот...

WCF: Всё ли я правильно понимаю и делаю?
Всем привет. Вот уже который день разбираюсь с wcf... Возникло несколько вопросов, в которых вроде как разобрался, но хотелось бы быть...

Функция возвращает false
Смотрю через Debug, после return true в области try переходит на return false в catch (при этом пропуская ERROR = false;ERROR_TEXT =...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru