IPB


Бесплатные VPN сервера

Здравствуйте, гость ( Вход | Регистрация )

> Внимание!

Задавая вопрос, обязательно укажите свой логин, домен и скрипт, которых он касается.

>> !!Ответы на 90% вопросов здесь!! <<


Правила хостинга | Общие ошибки новичков | Поиск

 
Тема закрытаНачать новую тему
Вопросы и проблемы c MySQL + PHP
xotta6bl4
сообщение 15.10.2011, 21:05
Сообщение #1


Выпускник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 18.1.2011
Пользователь №: 2844
Домен: timeguard.cx0.ru


Продолжение темы

http://nx0.ru/forum/index.php?showtopic=6592

Запрос $query = "UPDATE $userstable SET `status` = 1, `reply`='".$_POST[`reply`]."' WHERE `id`='".$_POST[`id`]."'"; работает,

однако данные в базе не обновляются.

Вот весь скрипт.
CODE
<?
/* Этот скрипт получает переменные из request.html */

/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "username";
$password = "admin";
$dbName = "tickets";
$userstable = "main";
/* создать соединение */
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
/* выбрать базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die(mysql_error());


$query = "UPDATE $userstable SET `status` = '1', `reply`='".$_POST[`reply`]."' WHERE `id`='".$_POST[`id`]."'";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());
echo "Ответ отправлен пользователю.";
echo $_POST['id']."<BR>";
echo $_POST['reply'];
/* Закрыть соединение */
mysql_close();
?>
<a href="index.php">Вернуться</a>


Видно, что переменные echo $_POST['id'] и $_POST['reply'] содержат то что нужно.
Перейти в начало страницы
 
+Цитировать сообщение
Горбушка
сообщение 15.10.2011, 21:26
Сообщение #2


Ректор
**********

Группа: Пользователи
Сообщений: 8994
Регистрация: 3.3.2008
Из: Москва/Россия
Пользователь №: 42
Домен: m-v-l.org


А где mysql_query($query, $db); ?? Вы пока предоставили строчку, которая просто в переменную заносит SQL-запрос, но не выполняет её. Нужно ещё mysql_query() выполнять =)


--------------------
Мы - анононим. Имя нам - Легион. Мы не прощаем. Мы не забываем. Ждите нас.
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 15.10.2011, 21:26
Сообщение #3


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


Код
<?php
/* Этот скрипт получает переменные из request.html */

/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "username";
$password = "admin";
$dbName = "tickets";
$userstable = "main";

    $db = mysql_connect($hostname,$username,$password) or die(mysql_error());
    $db1 = mysql_select_db($dbName,$db);

$query = "UPDATE $userstable SET `status` = '1', `reply`='".$_POST[`reply`]."' WHERE `id`='".$_POST[`id`]."'";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$q=mysql_query($query,$db) or die(mysql_error());
if($q)
{
echo "Ответ отправлен пользователю..<BR>";
}
else
{
echo "oops";
}
echo $_POST['id']."<BR>";
echo $_POST['reply'];
/* Закрыть соединение */
mysql_close($db);
?>
<a href="index.php">Вернуться</a>

а так..?


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
Горбушка
сообщение 15.10.2011, 21:30
Сообщение #4


Ректор
**********

Группа: Пользователи
Сообщений: 8994
Регистрация: 3.3.2008
Из: Москва/Россия
Пользователь №: 42
Домен: m-v-l.org


Тупая опера unsure.gif

Сделайте echo $query;
P.s. ну и как параноик: POST['id'] брать через intval(), остальное - через регулярки...


--------------------
Мы - анононим. Имя нам - Легион. Мы не прощаем. Мы не забываем. Ждите нас.
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 15.10.2011, 21:41
Сообщение #5


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


Цитата(Горбушка @ 15.10.2011, 22:43) *
Сделайте echo $query;

зачем?)
если у него
Код
$query = "UPDATE $userstable SET `status` = '1', `reply`='".$_POST[`reply`]."' WHERE `id`='".$_POST[`id`]."'";

у него и выведет UPDATE фыв SET `status` = '1', `reply`='"фыв"' WHERE `id`='"1"'"


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
xotta6bl4
сообщение 16.10.2011, 11:52
Сообщение #6


Выпускник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 18.1.2011
Пользователь №: 2844
Домен: timeguard.cx0.ru


Цитата(Гад @ 15.10.2011, 21:39) *
а так?


не работает. Выводит
Цитата
Ответ отправлен пользователю.2
Текст 123Вернуться
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 16.10.2011, 12:34
Сообщение #7


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


т.е. в базе запись не появилась?


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
xotta6bl4
сообщение 16.10.2011, 12:41
Сообщение #8


Выпускник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 18.1.2011
Пользователь №: 2844
Домен: timeguard.cx0.ru


не обновилась.
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 16.10.2011, 12:48
Сообщение #9


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


скиньте структуру таблицы чтоль..


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
xotta6bl4
сообщение 16.10.2011, 12:58
Сообщение #10


Выпускник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 18.1.2011
Пользователь №: 2844
Домен: timeguard.cx0.ru


как то так
Прикрепленный файл  table.png ( 80,13 килобайт ) Кол-во скачиваний: 10
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 16.10.2011, 13:01
Сообщение #11


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


Код
<?php
/* Этот скрипт получает переменные из request.html */

/* Переменные для соединения с базой данных */
$hostname = "localhost";
$username = "username";
$password = "admin";
$dbName = "tickets";
$userstable = "main";

$reply = $_POST['reply'];
$id = $_POST['id'];
    $db = mysql_connect($hostname,$username,$password) or die(mysql_error());
    $db1 = mysql_select_db($dbName,$db);

$query = "UPDATE `$userstable` SET `status` = '1', `reply`='$reply' WHERE `id`='$id'";
/* Выполнить запрос. Если произойдет ошибка - вывести ее. */
$q=mysql_query($query,$db) or die(mysql_error());
if($q)
{
echo "Ответ отправлен пользователю..<BR>";
}

echo $_POST['id']."<BR>";
echo $_POST['reply']."<BR>";
/* Закрыть соединение */
mysql_close($db);
?>
<a href="index.php">Вернуться</a>


--------------------
Перейти в начало страницы
 
+Цитировать сообщение
xotta6bl4
сообщение 16.10.2011, 13:07
Сообщение #12


Выпускник
**

Группа: Пользователи
Сообщений: 27
Регистрация: 18.1.2011
Пользователь №: 2844
Домен: timeguard.cx0.ru


Все работает. Спасибо, пойду почитаю Ваш код.
Перейти в начало страницы
 
+Цитировать сообщение
Гад
сообщение 16.10.2011, 13:10
Сообщение #13


Охранник
********

Группа: root
Сообщений: 3514
Регистрация: 22.2.2010
Из: Казань
Пользователь №: 1113
Домен: for-us.nl


Обращайтесь..


--------------------
Перейти в начало страницы
 
+Цитировать сообщение

Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 22.11.2019, 13:55