Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ввод данных в базу MySql, с методом $_POST / 9 сообщений из 9, страница 1 из 1
04.01.2015, 15:26
    #38848102
demah
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
Добрый день, хочу спросить у знающих, форма ввода в базу работает, но что-то лишнее либо чего-то не хватает. И как следовательно ошибка.

Код: 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.
31.
32.
33.
<?php



$host = "localhost";
$user = "root";
$password = "od12345678";
$db = "mysql";



if(isset($_POST['submit']))
{
$db = mysql_connect($host,$user,$password) or die ("Не могу подключиться");
mysql_select_db("mysql",$db);




$name = $_POST['name'];
$age = $_POST['age'];
$sex = $_POST['sex'];



$result = mysql_query("INSERT INTO php_bd (name, age, sex) VALUES ('$name', '$age', '$sex')");
//Если запрос пройдет успешно то в переменную result вернется true
if($result == 'true') 
{echo "Ваши данные успешно добавлены";}
else
{echo "Ваши данные не добавлены";}}

?>



...
Рейтинг: 0 / 0
04.01.2015, 16:01
    #38848111
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
demahлибо чего-то не хватаетНе хватает проверки/обработки входных данных, и, как следствие, возможна sql injection.


demahИ как следовательно ошибка.Нет, не следовательно. "Ошибка" вызвана неправильным выбором устаревшего расширения mysql, которое... ну чего я буду перепечатывать документацию или переводить сообщение об ошибке, когда там подробно написано.
...
Рейтинг: 0 / 0
04.01.2015, 16:10
    #38848112
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
И ещёавтор
Код: php
1.
if($result == 'true') 


Не совсем корректно.
'true' - строка
true - булево значение (какое, собственно, и возвращает функция)
В принципе, после неявного преобразования типов условие будет выполнено. Однако, если напишите
Код: php
1.
if($result == 'false')

, то условие тоже будет выполнено. Чтоб затуманить мозг - самое то )))

Можно гораздо проще записать
Код: php
1.
if($result)

Или, в полной форме
Код: php
1.
if($result === true)
...
Рейтинг: 0 / 0
04.01.2015, 16:11
    #38848113
demah
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
vkledemahлибо чего-то не хватаетНе хватает проверки/обработки входных данных, и, как следствие, возможна sql injection.

это я еще попробую

demahИ как следовательно ошибка.Нет, не следовательно. "Ошибка" вызвана неправильным выбором устаревшего расширения mysql, которое... ну чего я буду перепечатывать документацию или переводить сообщение об ошибке, когда там подробно написано.

mysqli_connect я побывал, тогда ошибок еще больше
...
Рейтинг: 0 / 0
04.01.2015, 16:35
    #38848124
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
demahmysqli_connect я побывал, тогда ошибок еще большеПоказывайте.
...
Рейтинг: 0 / 0
04.01.2015, 17:25
    #38848145
demah
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
vkledemahmysqli_connect я побывал, тогда ошибок еще большеПоказывайте.

Теперь с mysqli_query, ошибка.

Код: 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.
31.
32.
33.
34.
35.
<?php



if(isset($_POST['submit']))
{
$link = mysqli_connect("localhost", "root", "od12345678", "mysql");

/* check connection */ 
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}


$name = $_POST['name'];
$age = $_POST['age'];
$sex = $_POST['sex'];


$result = mysqli_query("INSERT INTO php_bd (name, age, sex) 
VALUES ('$name', '$age', '$sex')");


//Если запрос пройдет успешно то в переменную result вернется true
if($result) 
{echo "Ваши данные успешно добавлены";}
else
{echo "Ваши данные не добавлены";}

}



?>




...
Рейтинг: 0 / 0
04.01.2015, 17:33
    #38848150
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
Ну а где текст сообщения об ошибке? И реальный текст запроса после подстановки переменных сразу уж покажите.

И ещё. Вы используете служебную базу mysql вместо пользовательской. Оно, конечно, работать то будет... Но руки за такое отрывать надо сразу :-)
...
Рейтинг: 0 / 0
04.01.2015, 17:36
    #38848153
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
Начсёт текста сообщения об ошибке прогнал... На картинке же написано всё.
...
Рейтинг: 0 / 0
04.01.2015, 17:46
    #38848158
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных в базу MySql, с методом $_POST
vkleНо руки за такое отрывать надо сразу
И еще за подключение под root
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ввод данных в базу MySql, с методом $_POST / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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