Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
#1

Отправка запроса на ввод данных из формы

31.01.2017, 14:47. Просмотров 390. Ответов 18
Метки нет (Все метки)

Собственно сам запрос
PHP
1
$result = mysql_query("INSERT INTO `users`(`ver`,`app`,`com`) VALUES ('$first_var','$second_var','$third_var')");
ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Добавлено через 12 минут
Вывод запроса через echo
INSERT INTO `users`(`ver`,`app`,`com`) VALUES ('cvcb','cbcb','dfbdb')
в PhpMyAdmin запрос выполняется.
Подключение к базе есть!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2017, 14:47
Ответы с готовыми решениями:

Отправка POST запроса в бд из формы
<form method="POST"> <input name="email" type="text"> <input name="number"...

Отправка Get запроса в sql скрипт и вывод данных с бд
Прежде чем писать искал в поисковиках ответ на свой вопрос но так и не нашел....

Отправка данных из формы в БД
создала бд в enterprise architec, затем сгенерировала код в mysql. написала...

Отправка данных с формы
Написал код, а он не присылает сами данные, помогите пожалуйста исправить:...

Отправка данных с формы в бд
Народ подскажите как сделать обработчик данных с формы то есть у меня уже есть...

18
Grossmeister
Модератор
3370 / 2426 / 409
Регистрация: 21.01.2011
Сообщений: 10,674
31.01.2017, 14:55 #2
Цитата Сообщение от kaz4640984 Посмотреть сообщение
right syntax to use near ''
Такое впечатление, что не в порядке кодировка. Проверь значения переменных.
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 05:11  [ТС] #3
Тип переменных string.
Кодировка переменных ASCII
0
fidel42rus
24 / 24 / 11
Регистрация: 24.10.2015
Сообщений: 415
01.02.2017, 06:09 #4
$result = mysql_query("INSERT INTO users (ver, app, com) VALUES ('$first_var', '$second_var', '$third_var')");
.
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 06:47  [ТС] #5
Цитата Сообщение от fidel42rus Посмотреть сообщение
$result = mysql_query("INSERT INTO users (ver, app, com) VALUES ('$first_var', '$second_var', '$third_var')");
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'b4' at line 1
Когда отправляю появляются разные ошибки, а именно b4, '', итд. Это сразу после сохранения файла, если несколько раз отправить(разные ошибки, которые я так понял в непонятной кодировке приходят), потом же после 3-5 отправки пишет use near '' at line 1 и далее этот текст остается, пока не сохранишь файл заново.
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 10:38 #6
kaz4640984, попробуйте после подключения к БД
PHP
1
mysql_query("set names utf8");
ток кадировку подставте свою
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 11:07  [ТС] #7
Цитата Сообщение от Виталюска Посмотреть сообщение
kaz4640984, попробуйте после подключения к БД
PHPВыделить код
1
mysql_query("set names utf8");
ток кадировку подставте свою
use near '0P??Ap?' at line 1
use near 'UTC ؿ??~' at line 1
use near '048???' at line 1
use near '' at line 1

Вот весь код страницы
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
<?php 
$host = "*****";
$user = "*****";
$password = "*****";
$db = "*****";
 
$first_var = $_POST['first'];
$second_var = $_POST['second'];
$third_var = $_POST['third'];
echo gettype($first_var).'<br>'.
     gettype($second_var).'<br>'.
     gettype($third_var).'<br>';
 
echo mb_detect_encoding($first_var);
 
if (!$conn = mysql_connect($host, $user, $password))
{
echo "<h2>MySQL Error!</h2>";
exit;
}
 
mysql_query("set names utf8_general_ci");
$result = mysql_query("INSERT INTO users (ver, app, com) VALUES ('$first_var', '$second_var', '$third_var')");
mysql_query($result) or die(mysql_error());
 
if ($result== 'true') 
{echo "Ваши данные успешно добавлены";}
else{echo "Ваши данные не добавлены";}
 
?>
0
pyramida
86 / 86 / 13
Регистрация: 14.07.2012
Сообщений: 525
01.02.2017, 12:12 #8
kaz4640984, проверьте
1. что в данных нет символов кавычки или ' (апостроф кажется) или еще каких.
2. что не пустое поле. При NOT NULL может выдавать ошибку.
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 12:12 #9
Цитата Сообщение от kaz4640984 Посмотреть сообщение
use near '0P??Ap?' at line 1
use near 'UTC ؿ??~' at line 1
use near '048???' at line 1
use near '' at line 1
судя по этому у Вас уже приходят (кривые) данныеб и подставляя эти (кривые) и не обработанные данные в запрос получаем ошибку
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 13:11  [ТС] #10
Ввожу по поля ввода:
1 поле-qwe
2 поле-qwe
3 поле-qwe
запрос:
PHP
1
echo ("INSERT INTO users (ver, app, com) VALUES ('$first_var', '$second_var', '$third_var')");
получаю:
INSERT INTO users (ver, app, com) VALUES ('qwe', 'qwe', 'qwe')

Добавлено через 13 минут
БД и таблица в кодировке Utf8_general_ci

Добавлено через 22 минуты
Столбцы
ver VarChar
app VarChar
com VarChar
Пробовал Text не помогло.
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 13:11 #11
kaz4640984, покажите дамп (структуру) таблицы
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 13:19  [ТС] #12
# Name Type Collation Null Default Extra
1 id Primary int(11) No None AUTO_INCREMENT
2 Ver text utf8_general_ci No None
3 App text utf8_general_ci No None
4 com text utf8_general_ci No None
0
Миниатюры
Отправка запроса на ввод данных из формы  
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 13:48 #13
kaz4640984, дамп выглядит вот так
SQL
1
2
3
4
5
6
CREATE TABLE IF NOT EXISTS `user` (
  `user_id` INT(11) NOT NULL,
  `username` CHAR(32) NOT NULL,
  `password` CHAR(32) NOT NULL,
  `prava_dostupa` CHAR(20) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 14:14  [ТС] #14
SQL
1
2
3
4
5
6
7
8
9
CREATE TABLE `users` (
  `id` INT(11) NOT NULL,
  `Ver` text NOT NULL,
  `App` text NOT NULL,
  `com` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`);
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 14:23 #15
kaz4640984, тук у Вас `id` INT(11) NOT NULL, не AUTO_INCREMENT и делая запрос на добавление
Цитата Сообщение от kaz4640984 Посмотреть сообщение
INSERT INTO users (ver, app, com) VALUES ('$first_var', '$second_var', '$third_var')
у Вас будет возвращать ошибку т.к. повторяется значение в этом поле а оно у Вас
Цитата Сообщение от kaz4640984 Посмотреть сообщение
PRIMARY KEY
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
01.02.2017, 14:29  [ТС] #16
SQL
1
2
ALTER TABLE `users`
  MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
В конце дампа оказался...
Извиняюсь

Добавлено через 1 минуту
Если запрос делать из PhpMyAdmin, то он успешно выполняется!
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
01.02.2017, 15:42 #17
kaz4640984, ну тогда не понятно появление ошибки

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
<?php 
$host = "*****";
$user = "*****";
$password = "*****";
$db = "*****";
$conn = mysqli_connect($host, $user, $password, $db)
mysqli_query($conn, "SET NAMES utf8");
 
$first_var = stripcslashes($_POST['first']);
$second_var = stripcslashes($_POST['second']);
$third_var = stripcslashes($_POST['third']);
 
if (!$conn)
{
echo "<h2>MySQL Error!</h2>";
exit;
}
 
 
$result = mysqli_query($conn, "INSERT INTO users (ver, app, com) VALUES ('".$first_var."', '".$second_var."', '".$third_var."')") or die(mysqli_error());
 
if ($result) {
echo "Ваши данные успешно добавлены";
}else {
echo "Ваши данные не добавлены";
}
 
?>
0
kaz4640984
1 / 1 / 4
Регистрация: 09.09.2013
Сообщений: 105
03.02.2017, 05:27  [ТС] #18
Виталюска, ладно, попробую через другой хостинг. Может в нем проблема...

Добавлено через 7 часов 12 минут
О, Боги!
На другом хосте мой запрос вообще не видит...
Query was empty

PHP
1
2
3
4
5
6
7
8
9
if (!$conn = mysql_connect($host, $user, $password))
{
echo "<h2>MySQL Error!</h2>";
exit;
}
 
$res ="INSERT INTO `users`(`var`, `app`, `com`) VALUES('$first_var', '$second_var', '$third_var')";
$result = mysql_query($res); 
mysql_query($result) or die(mysql_error());
Добавлено через 13 часов 51 минуту
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1
Все...
Устаканилась ошибка use near '1' теперь всегда она...
Вывод запроса через echo
SQL
1
INSERT INTO `users` (`var`,`app`,`com`) VALUES ('dffv','dfvd','dfvdf')
Добавлено через 6 минут
Всем спасибо проблема решилась перестановкой версии PHP с 7.0 на 5.5
0
Виталюска
466 / 457 / 226
Регистрация: 26.09.2010
Сообщений: 2,338
03.02.2017, 12:09 #19
kaz4640984, проблема не в хосте, а проблема в том что Вы пытались использовать устаревшую mysql, используйте лучше mysqli

да и если бы Вы скопировали код который я скинул, он 100% должен был работать
0
03.02.2017, 12:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2017, 12:09

Отправка данных с формы
Не работает отправка . С Php совсем не знаком. Все писал пальцем в небо. ...

отправка данных формы по почте
Имеется код формы. Поле заполняется рандомным значением (доступного только к...

Отправка данных из формы на почту
Добрый вечер! подскажите пожалуйста! Впервые делаю небольшой интернет магазин...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru