• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепропетровск
  • +38(062) 210-24-93  Донецк
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 007-72-35  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

MySQL. Запрос к БД с помощью ПХП

Форумы MySQL Запрос к БД с помощью ПХП
poisonactivity
27.12.2015 14:32
хостинг: есть
домен: есть
Запрос к БД с помощью ПХП
Здравствуйте!
Хочу внести данные в базу в помощью пхп, но не работает что-то, помогите разобраться, пожалуйста:

<?php
$dbs = mysql_connect ('*****' , '*****' , '*****', '*****')
or die ('Ошибка соединения с сервером');

$query = "INSERT INTO `aliens_abduction`(`first_name`, `lastname`, `when_it_happened`, `how_long`, `howmany`, `alien_description`, `whattheydid`, `fang_spotted`, `other`, `email`) VALUES ('$name','$lastname','$whenithappened','$howlong','$howmany','$aliendescription','$whattheydid','$fangspotted','$other','$email')";

echo $query;

$result = mysql_query($dbs, $query)
or die ('error inserting dstabase');

mysql_close ($dbs);
?>


echo $query; выводит такой результат:

INSERT INTO `aliens_abduction`(`first_name`, `lastname`, `when_it_happened`, `how_long`, `howmany`, `alien_description`, `whattheydid`, `fang_spotted`, `other`, `email`) VALUES ('','','','','','','','','','')error inserting dstabase

этот результат, если скопировать и вставить в окно SQL-запросов (пхп майадмин), то все работает, но через пхп не хочет. Что мне посоветуете исправить?

Спасибо за внимание и с наступающим Всех! ! !
Евгений В.
27.12.2015 14:41
хостинг: есть
домен: нет
Можно ли увидеть полный код скрипта?
Так как сейчас в
('$name','$lastname','$whenithappened','$howlong','$howmany','$aliendescription','$whattheydid','$fangspotted','$other','$email')";

указаны переменные $name, $lastname и т.д. , но их значения нигде не задаются. Поэтому вполне логично что в запросе к БД все значения пустые:
"VALUES ('','','','','','','','','','')error inserting dstabase "
Илья
28.12.2015 12:09
хостинг: есть
домен: есть
Замените кусок кода
or die ('....');

на
or die(mysql_error())

и узнаете в чем проблема
poisonactivity
28.12.2015 17:08
хостинг: есть
домен: есть
амените кусок кода
or die ('....');
на
or die(mysql_error())
и узнаете в чем проблема
© Илья


итого:
INSERT INTO `aliens_abduction`(`first_name`, `lastname`, `when_it_happened`, `how_long`, `howmany`, `alien_description`, `whattheydid`, `fang_spotted`, `other`, `email`) VALUES ('','','','','','','','','','')
и больше ничего. То есть в чём ошибка не пишет.
poisonactivity
28.12.2015 17:17
хостинг: есть
домен: есть
Можно ли увидеть полный код скрипта?
Так как сейчас в ('$name','$lastname','$whenithappened','$howlong','$howmany','$aliendescription','$whattheydid','$fangspotted','$other','$email')";
указаны переменные $name, $lastname и т.д. , но их значения нигде не задаются. Поэтому вполне логично что в запросе к БД все значения пустые:
"VALUES ('','','','','','','','','','')error inserting dstabase "
© Евгений В.


В этом нет необходимости. В переменных - простой текст (имя, фамилия, емейл . . .), который берётся из формы после заполнения ее пользователем
poisonactivity
30.12.2015 16:25
хостинг: есть
домен: есть
Ладно, напишу в тех поддержку.
Евгений В.
30.12.2015 16:28
хостинг: есть
домен: нет
Не забудьте в обращении дать ссылку на тестовый скрипт в папке сайта.
poisonactivity
30.12.2015 16:41
хостинг: есть
домен: есть
-6
по моему все и так ясно. Но если нет, то просто скиньте актуальный пример кода PHP, который вносит данные в mysql

НЕ ПОЛУЧАЕТСЯ внести данные в таблицу MYSQL с помощью ПХП.
Дайте пожалуйста "рабочий" пример кода.
Евгений В.
30.12.2015 23:20
хостинг: есть
домен: нет
Вот пример рабочего скрипта (ну или можно нагуглить массу аналогичных вполне рабочих вариантов):

<?php
$dbs = mysql_connect ('servername.mysql.ukraine.com.ua' , 'имя_пользователя' , 'пароль')
or die ('Ошибка соединения с сервером');

mysql_select_db('имя_базы', $dbs) or die('Не могу выбрать базу');
$query = "INSERT INTO test (word,number,word1) VALUES ('test','22','test2')";
$result = mysql_query($query,$dbs);
if (!$result) {
$message  = 'Ошибка: ' . mysql_error() . "</br>";
die($message);
}

echo 'OK';
mysql_close ($dbs);
?>
poisonactivity
31.12.2015 14:04
хостинг: есть
домен: есть
Вот пример рабочего скрипта (ну или можно нагуглить массу аналогичных вполне рабочих вариантов): © Евгений В.


Спасибо Евгений за код, пример которого хотя бы говорит, что ему необходимо:

Access denied for user 'username'@'%' to database 'databazename'


Пароль ввожу правильно. И в Привилегиях доступа к базе данных для пользователя MySQL стоят все галочки.
Что посоветуете сделать?
Евгений В.
31.12.2015 15:04
хостинг: есть
домен: нет
2
Что посоветуете сделать? © poisonactivity

Правильно указывать логин, пароль и адрес сервера БД в первой строке скрипта. :)

Ну и в mysql_select_db - правильное имя базы.

Сейчас наш диалог происходит по стандартному сценарию "-- Доктор, у меня что-то болит. -- Ок, вот вам какие-то таблетки!". И это не здорово для нас обоих.
Вы рассказываете о каких-то проблемах, я придумываю какие-то решения опираясь на очень вольный и крайне неточный пересказ.
Дайте пожалуйста ссылку на проблемный скрипт с кодом из моего предыдущего ответа.
У меня - работает: http://xn--d1acss6d.in.ua/test.php
poisonactivity
02.01.2016 16:21
хостинг: есть
домен: есть
-1
Вот пример рабочего скрипта (ну или можно нагуглить массу аналогичных вполне рабочих вариантов):

<?php$dbs = mysql_connect ('servername.mysql.ukraine.com.ua' , 'имя_пользователя' , 'пароль')or die ('Ошибка соединения с сервером');mysql_select_db('имя_базы', $dbs) or die('Не могу выбрать базу');$query = "INSERT INTO test (word,number,word1) VALUES ('test','22','test2')";$result = mysql_query($query,$dbs);if (!$result) {$message  = 'Ошибка: ' . mysql_error() . "</br>";die($message);}echo 'OK'; mysql_close ($dbs);?>
© Евгений В.


Евгений, я что-то делаю не так. Этот пример, который Вы "нагуглили" и который у Вас работает у меня показывает ошибку:
Access denied for user 'username'@'%' to database 'databazename'


Как Вы думаете, что я делаю не так?
p.s. С новым годом ! ! !
Евгений В.
02.01.2016 17:33
хостинг: есть
домен: нет
2
Основное "не так" - оно в подходе к решению вопроса:
Можно ли увидеть полный код скрипта? © Евгений В.

Не забудьте в обращении дать ссылку на тестовый скрипт в папке сайта. © Евгений В.

Дайте пожалуйста ссылку на проблемный скрипт с кодом из моего предыдущего ответа. © Евгений В.

И в ответ
В этом нет необходимости. © poisonactivity

по моему все и так ясно. © poisonactivity

Что посоветуете сделать? © poisonactivity

Как Вы думаете, что я делаю не так? © poisonactivity


Если всё ясно, необходимости показать скрипт возвращающий ошибку нет -- то действительно, в чем же дело?! :) Наверное в том что Вы 4 раза отказались показать проблемный скрипт ссылаясь на то что и так "всё ясно" одновременно с этим жалуясь что ничего не работает?

Покорнейше прошу меня простить за, возможно, резкий ответ. Но гаданием я больше не занимаюсь. Вот с Нового Года пообещал себе - никаких фантазий без рассмотрения конкретных фактов.
До ссылки на тестовый скрипт
<?php
$dbs = mysql_connect ('servername.mysql.ukraine.com.ua' , 'имя_пользователя' , 'пароль')
or die ('Ошибка соединения с сервером');

mysql_select_db('имя_базы', $dbs) or die('Не могу выбрать базу');
$query = "INSERT INTO test (word,number,word1) VALUES ('test','22','test2')";
$result = mysql_query($query,$dbs);
if (!$result) {
$message  = 'Ошибка: ' . mysql_error() . "</br>";
die($message);
}

echo 'OK';
mysql_close ($dbs);
?>

возвращающей конкретную ошибку - ничем помочь не могу.
poisonactivity
03.01.2016 10:16
хостинг: есть
домен: есть
-2
Покорнейше прошу меня простить за, возможно, резкий ответ. Но гаданием я больше не занимаюсь. Вот с Нового Года пообещал себе - никаких фантазий без рассмотрения конкретных фактов. © Евгений В.


Евгений. Я пробую "Ваш" скрипт:
<?php
$dbs = mysql_connect ('servername.mysql.ukraine.com.ua' , 'имя_пользователя' , 'пароль')
or die ('Ошибка соединения с сервером');

mysql_select_db('имя_базы', $dbs) or die('Не могу выбрать базу');
$query = "INSERT INTO test (word,number,word1) VALUES ('test','22','test2')";
$result = mysql_query($query,$dbs);
if (!$result) {
$message  = 'Ошибка: ' . mysql_error() . "</br>";
die($message);
}

echo 'OK';
mysql_close ($dbs);
?>

и он показывает ошибку:
Access denied for user 'username'@'%' to database 'databazename'

Скрипт у Вас работает, а у меня - нет.
Прикрепленные файлы:
Евгений В.
03.01.2016 11:04
хостинг: есть
домен: нет
Ссылочку пожалуйста дайте на него. Или путь к нему на FTP в Вашем аккаунте.
poisonactivity
04.01.2016 09:26
хостинг: есть
домен: есть
Ссылочку пожалуйста дайте на него. © Евгений В.
http://test.t.com.ua
Или путь к нему на FTP в Вашем аккаунте. © Евгений В.
test.com.ua/php/

надеюсь, что всё правильно скинул.
Евгений В.
04.01.2016 10:37
хостинг: есть
домен: нет
2
В строке
mysql_select_db('aliens_abduction', $dbs) or die(mysql_error());

Вы почему-то указываете имя таблицы (aliens_abduction), хотя нужно - имя базы данных (zetauto_php)
poisonactivity
04.01.2016 10:59
хостинг: есть
домен: есть
Вы почему-то указываете имя таблицы (aliens_abduction), хотя нужно - имя базы данных (zetauto_php) © Евгений В.

Исправил. Ура работает! Спасибо Евгений В.
Евгений В.
04.01.2016 11:48
хостинг: есть
домен: нет
1
Всегда рад помочь.
poisonactivity
04.01.2016 12:35
хостинг: есть
домен: есть
Здорово, что рады помочь, но злоупотреблять не буду.
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города