Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • 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) 170-15-42  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
3 года
хостинг: есть
домен: есть
Запрос к БД с помощью ПХП
Здравствуйте!
Хочу внести данные в базу в помощью пхп, но не работает что-то, помогите разобраться, пожалуйста:

<?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-запросов (пхп майадмин), то все работает, но через пхп не хочет. Что мне посоветуете исправить?

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

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

на
or die(mysql_error())

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


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

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

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


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

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


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

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

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

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

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

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

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

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

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

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