• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  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
хостинг: есть
домен: есть
Запрос к БД с помощью ПХП
Здравствуйте!
Хочу внести данные в базу в помощью пхп, но не работает что-то, помогите разобраться, пожалуйста:

<?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
хостинг: есть
домен: нет
Можно ли увидеть полный код скрипта?
Так как сейчас в
('$name','$lastname','$whenithappened','$howlong','$howmany','$aliendescription','$whattheydid','$fangspotted','$other','$email')";

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

на
or die(mysql_error())

и узнаете в чем проблема
poisonactivity
28.12.2015
хостинг: есть
домен: есть
амените кусок кода
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
хостинг: есть
домен: есть
Можно ли увидеть полный код скрипта?
Так как сейчас в ('$name','$lastname','$whenithappened','$howlong','$howmany','$aliendescription','$whattheydid','$fangspotted','$other','$email')";
указаны переменные $name, $lastname и т.д. , но их значения нигде не задаются. Поэтому вполне логично что в запросе к БД все значения пустые:
"VALUES ('','','','','','','','','','')error inserting dstabase "
© Евгений В.


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

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

<?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
хостинг: есть
домен: есть
Вот пример рабочего скрипта (ну или можно нагуглить массу аналогичных вполне рабочих вариантов): © Евгений В.


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

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


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

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

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

Сейчас наш диалог происходит по стандартному сценарию "-- Доктор, у меня что-то болит. -- Ок, вот вам какие-то таблетки!". И это не здорово для нас обоих.
Вы рассказываете о каких-то проблемах, я придумываю какие-то решения опираясь на очень вольный и крайне неточный пересказ.
Дайте пожалуйста ссылку на проблемный скрипт с кодом из моего предыдущего ответа.
У меня - работает: http://xn--d1acss6d.in.ua/test.php
poisonactivity
02.01.2016
хостинг: есть
домен: есть
-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
хостинг: есть
домен: нет
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
хостинг: есть
домен: есть
-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
хостинг: есть
домен: нет
Ссылочку пожалуйста дайте на него. Или путь к нему на FTP в Вашем аккаунте.
poisonactivity
04.01.2016
хостинг: есть
домен: есть
Ссылочку пожалуйста дайте на него. © Евгений В.
http://test.t.com.ua
Или путь к нему на FTP в Вашем аккаунте. © Евгений В.
test.com.ua/php/

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

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

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

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

Горячая линия
(044)
392 74 33
другие города