В $_POST все отлично попадает и все работает до запроса к БД.
Да и сам запрос вроде оформлен как надо, но тем неменее не работает
![sad.gif](http://phpforum.ru/html/emoticons/sad.gif)
Подскажите что не так делаю...
<?php include("db.php");
$fields=array("index","student","teacher","id");
foreach($fields as $num=>$key){
if (isset($_POST[$key]) && $_POST[$key]!='') $$key = $_POST[$key];
}
if (isset($index) && isset($student) && isset($teacher))
{
$result = mysql_query ("UPDATE text SET index='$index',student='$student', teacher='$teacher' WHERE id='$id'");
echo "Все ок";}
else echo "что то не так";
?>
Спустя 1 час, 59 минут, 53 секунды (21.08.2010 - 15:38) Crash2007 написал(а):
$$key = $_POST[$key]; ?
Спустя 27 минут, 59 секунд (21.08.2010 - 16:06) gagger написал(а):
Это-то как раз работает правильно.
А вот запрос нет...
А вот запрос нет...
Спустя 31 минута, 9 секунд (21.08.2010 - 16:37) Guest написал(а):
gagger
а что за ошибку пишет конкретно?
и у тебя точно в переменные эти 4(индекс...) что-то попадает?
а что за ошибку пишет конкретно?
и у тебя точно в переменные эти 4(индекс...) что-то попадает?
Спустя 12 минут, 21 секунда (21.08.2010 - 16:49) gagger написал(а):
никакой ошибки, все нормально проходит, но ничего не апдейтит...в переменные ПОСТ все попадает проверял...
Спустя 6 минут, 52 секунды (21.08.2010 - 16:56) Guest написал(а):
gagger
я не про пост, где у тебя переменные $index, $teacher?, проверь их как следует, что в них должно быть и.т.д
и
попробуй название таблицы написать так `text`
и еще он выдает значит у тя "ВСЕ ОК"?
я не про пост, где у тебя переменные $index, $teacher?, проверь их как следует, что в них должно быть и.т.д
и
попробуй название таблицы написать так `text`
и еще он выдает значит у тя "ВСЕ ОК"?
Спустя 16 минут, 42 секунды (21.08.2010 - 17:13) gagger написал(а):
Угу выдает - все ок...
Ну так...я создаю массив с названиями полей, и потом загоняю их в цикл где присваиваю им переменные.
т.е. то что было $_POST['teacher']; Стало $teacher. Проверял через var_dump(); и через банальное echo эти переменные, все на месте...
Ну так...я создаю массив с названиями полей, и потом загоняю их в цикл где присваиваю им переменные.
т.е. то что было $_POST['teacher']; Стало $teacher. Проверял через var_dump(); и через банальное echo эти переменные, все на месте...
Спустя 4 минуты, 53 секунды (21.08.2010 - 17:18) Guest написал(а):
gagger
ну так-то запрос вроде правильно написан, если в названии полей тоже нет ошибок, то тогда добавь после запроса это
if($result==true)
echp "ok";
else
echo mysql_errno() . ": " . mysql_error() . "\n";
ну так-то запрос вроде правильно написан, если в названии полей тоже нет ошибок, то тогда добавь после запроса это
if($result==true)
echp "ok";
else
echo mysql_errno() . ": " . mysql_error() . "\n";
Спустя 2 минуты, 12 секунд (21.08.2010 - 17:20) gagger написал(а):
Вот что выдает :
Все ок1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index='ssНаша цель сделать знания как можно доступнее по цене, сохраняя высокое ' at line 1
Все ок1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index='ssНаша цель сделать знания как можно доступнее по цене, сохраняя высокое ' at line 1
Спустя 5 минут, 39 секунд (21.08.2010 - 17:25) Guest написал(а):
gagger
ну вот видишь, в твоем тексте могут присутствовать кавычки? перед запросом съэкранируй содержимое всех текстовых переменных - может дело в этом!
$index= mysql_real_escape_string($index) и.т.д
ну вот видишь, в твоем тексте могут присутствовать кавычки? перед запросом съэкранируй содержимое всех текстовых переменных - может дело в этом!
$index= mysql_real_escape_string($index) и.т.д
Спустя 3 минуты, 1 секунда (21.08.2010 - 17:28) Guest написал(а):
точнее у тебя вон и есть одни одинарные ковычких в других!
Спустя 11 минут, 34 секунды (21.08.2010 - 17:40) gagger написал(а):
Заэкранировал, всеравно зараза не работает...
Спустя 10 минут, 3 секунды (21.08.2010 - 17:50) linker написал(а):
Как заэкранировали?
Спустя 7 минут, 1 секунда (21.08.2010 - 17:57) gagger написал(а):
$index= mysql_real_escape_string($index);
$student= mysql_real_escape_string($student);
$teacher= mysql_real_escape_string($teacher);
$student= mysql_real_escape_string($student);
$teacher= mysql_real_escape_string($teacher);
Спустя 10 минут, 22 секунды (21.08.2010 - 18:07) linker написал(а):
А, проглядел я, все банально просто
UPDATE text SET `index`='$index', `student`='$student', `teacher`='$teacher' WHERE `id`='$id'
Спустя 6 минут, 13 секунд (21.08.2010 - 18:14) gagger написал(а):
linker
Guest
Ребята огромное спасибо за помощь, все теперь работает![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Я хотел задать еще один нубский вопрос, по поводу функций.
Вот есть такая функция, я хочу из нее вытаскивать $tpl['data']; к примеру, как мне ее вызывать?
Guest
Ребята огромное спасибо за помощь, все теперь работает
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Я хотел задать еще один нубский вопрос, по поводу функций.
function tpl(){
$get_tpl = mysql_query("SELECT * FROM tpl");
$tpl = mysql_fetch_array($get_tpl);
}
Вот есть такая функция, я хочу из нее вытаскивать $tpl['data']; к примеру, как мне ее вызывать?
Спустя 37 минут, 18 секунд (21.08.2010 - 18:51) Guest написал(а):
gagger
1 способ: написать
function tpl(){
$get_tpl = mysql_query("SELECT * FROM tpl");
$tpl = mysql_fetch_array($get_tpl);
return $tpl;
}
$tpl=tpl();
все, теперь в $tpl тот же массив
1 способ: написать
function tpl(){
$get_tpl = mysql_query("SELECT * FROM tpl");
$tpl = mysql_fetch_array($get_tpl);
return $tpl;
}
$tpl=tpl();
все, теперь в $tpl тот же массив
Спустя 37 минут, 56 секунд (21.08.2010 - 19:29) linker написал(а):
function tpl()
{
$resource = mysql_query("SELECT `data` FROM tpl LIMIT 1");
$tpl = mysql_fetch_assoc($resource);
return $tpl['data'];
}
$data = tpl();