вот прочитал аннотацию на видео курсы Попова и питаюсь использовать сию анотацию у себя, но сразу же столкнулся с проблемой:(
<?php
include ('./lock.php');
include ('./blocks/db.php');
if (!empty($_POST['page'])) $page = $_POST['page'];
if (!empty($_POST['title'])) $title = $_POST['title'];
if (!empty($_POST['meta_d'])) $meta_d = $_POST['meta_d'];
if (!empty($_POST['meta_k'])) $meta_k = $_POST['meta_k'];
if (!empty($_POST['way'])) $way = $_POST['way'];
if (!empty($_POST['fg'])) $fg = $_POST['fg'];
if (!empty($_POST['text'])) $text = $_POST['text'];
?>
..........
<?php
if (isset($page, $title, $meta_d, $meta_k, $way, $fg, $text))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `object`
(`page`, `title`, `meta_d`, `meta_k`, `way`, `fg`, `text`)
VALUES
('". mysql_real_escape_string($page) ."',
'". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($way) ."',
'". mysql_real_escape_string($fg) ."',
'". mysql_real_escape_string($text) ."',
)"
);
echo $result;
if (mysql_affected_rows() > 0)
echo "<p>Ваш урок успешно добален!</p>";
else
echo "<p>Ваш урок не добален!</p>";
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не может быть добален.</p>";
}
?>
на странице соопщение
Ваш урок не добален!
Спустя 1 минута, 13 секунд (24.03.2012 - 11:20) ADiel написал(а):
". mysql_real_escape_string($text) ."',
)"
) or die(mysql_error());
Спустя 3 минуты, 38 секунд (24.03.2012 - 11:24) Michael написал(а):
VALUES ( ... ,)
запятую перед закрывающей скобкой убери
запятую перед закрывающей скобкой убери
Спустя 23 минуты, 23 секунды (24.03.2012 - 11:47) ahanter написал(а):
Сделал (вроде) как сказали
<?php
[b]если здесь поставить echo $page и т.д. то виводит переменные[/b]
if (isset($page, $title, $meta_d, $meta_k, $way, $fg, $text))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query (("INSERT INTO `object`
(`page`, `title`, `meta_d`, `meta_k`, `way`, `fg`, `text`)
VALUES
('". mysql_real_escape_string($page) ."',
'". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($way) ."',
'". mysql_real_escape_string($fg) ."',
'". mysql_real_escape_string($text) ."'
)")or die(mysql_error())
);
echo $result; [b]но тут ничего не виводит...[/b]
if (mysql_affected_rows() > 0)
echo "<p>Ваш урок успешно добален!</p>";
else
echo "<p>Ваш урок не добален!</p>";
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не может быть добален.</p>";
}
?>
Спустя 4 минуты, 25 секунд (24.03.2012 - 11:52) ADiel написал(а):
echo $result; но тут ничего не виводит... а тут ничего и не должно выводить.
http://php.net/manual/ru/function.mysql-query.php
Возвращаемые значения
Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.
Для других типов SQL-запросов, INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает TRUE в случае успеха и FALSE в случае ошибки.
Полученный дескриптор результата нужно передать в функцию mysql_fetch_assoc() или любую другую функцию, работающую с результатами запросов.
Используйте mysql_num_rows() для выяснения количества рядов в результате SELECT-запроса или mysql_affected_rows() для выяснения количества обработанных рядов запросами DELETE, INSERT, REPLACE и UPDATE.
mysql_query() также завершится с ошибкой и вернет FALSE, если у пользователя нет доступа к какой-либо из таблиц, фигурирующих в запросе.
Спустя 31 минута, 18 секунд (24.03.2012 - 12:23) ahanter написал(а):
ADiel только не материте пожалуйста :rolleyes:
Цитата |
Читайте документацию, а то обматерю! |
RTFM сделал но попрежнему не пойму почему этот код не работает
$result = mysql_query ("INSERT INTO `object`
(`page`, `title`, `meta_d`, `meta_k`, `way`, `fg`, `text`)
VALUES
('". mysql_real_escape_string($page) ."',
'". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($way) ."',
'". mysql_real_escape_string($fg) ."',
'". mysql_real_escape_string($text) ."'
)"
);
аффтар же сказал что все правильно...
Спустя 23 минуты, 18 секунд (24.03.2012 - 12:46) twin написал(а):
or die что говорит?
Спустя 6 минут, 31 секунда (24.03.2012 - 12:53) ahanter написал(а):
ошибок невыдает...
а
пришет -1...
а
echo mysql_affected_rows()
пришет -1...
Спустя 18 минут, 39 секунд (24.03.2012 - 13:11) twin написал(а):
А дамп покажи таблицы
Спустя 2 часа, 32 минуты, 47 секунд (24.03.2012 - 15:44) sebastjan написал(а):
Может не совсем в тему.
А так разве не лучше писать.
Чем каждый раз запускать функцию.
Семь однотипных операций.
А так разве не лучше писать.
mysql_real_escape_string($page, $title, $meta_d, $meta_k, $way,$fg, $text)
Чем каждый раз запускать функцию.
Семь однотипных операций.
Спустя 16 минут, 33 секунды (24.03.2012 - 16:01) sebastjan написал(а):
По теме урока, ну так там же написанно
Выполняется сначало проверка if ($result == 'true')
если всё Ок, тогда выводится запись Ваш урок успешно добален!
в другом случаи Ваш урок не добален!
if ($result == 'true') {echo "<p>Ваш урок успешно добален!</p>";}
else {echo "<p>Ваш урок не добален!</p>";}
Выполняется сначало проверка if ($result == 'true')
если всё Ок, тогда выводится запись Ваш урок успешно добален!
в другом случаи Ваш урок не добален!
Цитата |
echo $result; но тут ничего не виводит... |
А ты в лоб сразу хочешь вывести переменную $result;, которая содержит запрос к базе как эхо. :)
На этом месте по идеи интерпретатор и останавливается, хотя я только предпологаю, может и глупость сказал про интерпритатор.
И ещй добавлю.
Послет того как естественно ни чего не выведет $result; а покажет пустую страницу, ни какие дальше условие не имеют смысла.
Вывод пустоты ты сделал на этом и заканчивается твой скрипт.
Я делю на этапы выполнение задачи и отлавливаю ошибки.
Что и тебе советую.
Вот твой кусок кода, для наглядности коментарии читай.
)")or die(mysql_error())
);
echo $result; но тут ничего не виводит.../* после этого действия ничего выполняться не будет, вывод сделан ! */
if (mysql_affected_rows() > 0)
echo "<p>Ваш урок успешно добален!</p>";
else
Спустя 2 часа, 7 минут, 46 секунд (24.03.2012 - 18:08) twin написал(а):
Цитата (sebastjan @ 24.03.2012 - 12:44) |
Может не совсем в тему. А так разве не лучше писать. mysql_real_escape_string($page, $title, $meta_d, $meta_k, $way,$fg, $text) Чем каждый раз запускать функцию. Семь однотипных операций. |
Это как так?
Цитата |
echo $result; но тут ничего не виводит.../* после этого действия ничего выполняться не будет, вывод сделан ! */ |
Это почему это?
Спустя 8 минут, 57 секунд (24.03.2012 - 18:17) sebastjan написал(а):
twin
Я может не правильно сказал, потому что думаю что после вывода ЕХО, вывод в том же скрипте других данных не будет.
А про функцию
Я может не правильно сказал, потому что думаю что после вывода ЕХО, вывод в том же скрипте других данных не будет.
А про функцию
Цитата |
mysql_real_escape_string($page, $title, $meta_d, $meta_k, $way,$fg, $text) |
разве нельзя сразу в одной функции сделать обработку нескольким значениям?
Я не утверждаю а предпологаю
По идеи должно работать. Какая разница или одна переменая обработется или грппа.
Спустя 6 минут, 56 секунд (24.03.2012 - 18:24) twin написал(а):
А не надо предполагать. Нужно смотреть мануал. Там все написано.
Спустя 4 минуты, 17 секунд (24.03.2012 - 18:29) sebastjan написал(а):
twin
В мануале не написанно что именно одну переменну со сторой можно обработать.
Поэтому и предпологаю.
Надосуге попрбую.
В мануале не написанно что именно одну переменну со сторой можно обработать.
Поэтому и предпологаю.
Надосуге попрбую.
Спустя 31 минута, 56 секунд (24.03.2012 - 19:00) sebastjan написал(а):
Да, был не прав, расуждения мои ложные, нельзя в качестве парапмера для mysql_real_escape_string($xxx,$bbb) всунуть группу
Работает только с уже предварительно обьедённённой строй.
Попробовал так работает
Но это мёртвому припарки, сама идея обработать сразу группу переменных не катит.
Сколько можно было бы строчек сократить. <_<
Что то я совсем туплю.
Работает только с уже предварительно обьедённённой строй.
Попробовал так работает
$x="fjk;lmhlytmhjltyjhytjn";
$xx = "aklmujm,u";
$xxx = $x+$xx;
mysql_real_escape_string($xxx);
Но это мёртвому припарки, сама идея обработать сразу группу переменных не катит.
Сколько можно было бы строчек сократить. <_<
Что то я совсем туплю.
Спустя 3 часа, 31 минута, 28 секунд (24.03.2012 - 22:32) ahanter написал(а):
Ну вот почему здесь у автора все просто и доступно, а на деле.... мож руки кривые
Спустя 7 часов, 30 минут, 7 секунд (25.03.2012 - 06:02) twin написал(а):
Дамп базы данных покажи и все наладим.
Спустя 10 часов, 59 минут, 18 секунд (25.03.2012 - 17:01) ahanter написал(а):
-- Структура таблиці `object`
--
CREATE TABLE IF NOT EXISTS `object` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`page` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`way` text NOT NULL,
`fg` text NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
CREATE TABLE IF NOT EXISTS `object` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`page` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`way` text NOT NULL,
`fg` text NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
Спустя 7 минут, 36 секунд (25.03.2012 - 17:09) twin написал(а):
Незнаю чего ты там где понавертел, но вот этот код гарантированно работет:
$page = $title = $meta_d = $meta_k = $way = $fg = $text = 'test';
if (isset($page, $title, $meta_d, $meta_k, $way, $fg, $text))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `object`
(`page`, `title`, `meta_d`, `meta_k`, `way`, `fg`, `text`)
VALUES
('". mysql_real_escape_string($page) ."',
'". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($way) ."',
'". mysql_real_escape_string($fg) ."',
'". mysql_real_escape_string($text) ."'
)")or die(mysql_error());
if (mysql_affected_rows() > 0)
echo "<p>Ваш урок успешно добален!</p>";
else
echo "<p>Ваш урок не добален!</p>";
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не может быть добален.</p>";
}
Спустя 11 минут, 9 секунд (25.03.2012 - 17:20) ahanter написал(а):
спс)
ща попробую...
ща попробую...
Спустя 14 минут, 53 секунды (25.03.2012 - 17:35) ahanter написал(а):
No database selected
Спустя 2 часа, 32 секунды (25.03.2012 - 19:36) inpost написал(а):
Ну вот тебе ответ.
Спустя 13 минут, 34 секунды (25.03.2012 - 19:49) ahanter написал(а):
Цитата |
Ну вот тебе ответ. |
так чевож оно так... боясните пожалуйста....
Спустя 1 минута, 54 секунды (25.03.2012 - 19:51) inpost написал(а):
Надо выбрать Базу данных. Для этого есть: mysql_select_db(); используй её. Перед этим надо mysql_connect(); Если ошибка там, до не забудь дописать к этому запросу: "or die(mysql_error())"
Спустя 4 минуты, 11 секунд (25.03.2012 - 19:55) ahanter написал(а):
так у меня ж база подключается из файла
include ('./blocks/db.php');
в котором
<?php
/* Подключение к серверу MySQL */
$link = mysqli_connect(
'localhost', /* Хост, к которому мы подключаемся */
'arafat', /* Имя пользователя */
'12345', /* Используемый пароль */
'bossdb'); /* База данных для запросов по умолчанию */
if (!$link) {
printf("Невозможно подключиться к базе данных. Код ошибки: %s\n", mysqli_connect_error());
exit;
} ?>
include ('./blocks/db.php');
в котором
<?php
/* Подключение к серверу MySQL */
$link = mysqli_connect(
'localhost', /* Хост, к которому мы подключаемся */
'arafat', /* Имя пользователя */
'12345', /* Используемый пароль */
'bossdb'); /* База данных для запросов по умолчанию */
if (!$link) {
printf("Невозможно подключиться к базе данных. Код ошибки: %s\n", mysqli_connect_error());
exit;
} ?>
Спустя 9 минут, 14 секунд (25.03.2012 - 20:04) ahanter написал(а):
Сделал так:
РАБОТАЕТ!!!!!!!!! РАБОТАЕТ МОЕЙ МЕЧТЫ!!!!!!!!!! ЗДАРАВЕННЫЙ...
ой :)
а почему же без
этого
не работало???
<?php
if (isset($page, $title, $meta_d, $meta_k, $way, $fg, $text))
{
/* Соединяемся с базой данных */
$hostname = "localhost";
$username = "arafat";
$password = "12345";
$dbName = "bossdb";
$db = mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO object
(page, title, meta_d, meta_k, way, fg, text)
VALUES
('". mysql_real_escape_string($page) ."',
'". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($way) ."',
'". mysql_real_escape_string($fg) ."',
'". mysql_real_escape_string($text) ."'
)")or die(mysql_error());
if (mysql_affected_rows() > 0)
echo "<p>Ваш урок успешно добален!</p>";
else
echo "<p>Ваш урок не добален!</p>";
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому урок в базу не может быть добален.</p>";
}
?>
РАБОТАЕТ!!!!!!!!! РАБОТАЕТ МОЕЙ МЕЧТЫ!!!!!!!!!! ЗДАРАВЕННЫЙ...
ой :)
а почему же без
этого
/* Соединяемся с базой данных */
$hostname = "localhost";
$username = "arafat";
$password = "12345";
$dbName = "bossdb";
$db = mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
не работало???
Спустя 2 минуты, 24 секунды (25.03.2012 - 20:07) ahanter написал(а):
ОГРОМНЕЙШЕЕ СПАСИБО inpost ну и всем остальным обсуждавшим...