|
Тема
|
Губене на променлива
|
|
Автор | zezo (Нерегистриран) |
Публикувано | 15.01.07 23:57 |
|
Здравейте, първо искам да кажа, че вече втори ден ме боли главата от въпросния проблем, който колкото и да изключвах варианти, не успях да го оправя. Общо взето проблемът ми е следния:
Взимам през POST 6 променливи, които се използват в заявка.
$day1 = $_POST['day1'];
$day2 = $_POST['day2'];
$mount1 = $_POST['mount1'];
$mount2 = $_POST['mount2'];
$year1 = $_POST['year1'];
$year2 = $_POST['year2'];
//Execute query
$query = "select * from novini where day1>=$day1 and mount1>=$mount1 and year1>=$year1 and day1<=$day2 and mount1<=$mount2 and year1<=$year2 order by id";
Дотук добре - всичко си е точно.
Сега искам да сложа тази заявка в базата данни, за да я използвам по-нататък.
$qu = "update qry set qry='$query' where id=1";
mysql_query($qu);
echo $query;
И ето тук се явява проблемът. ECHO принтва правилно заявката включвайки всички променливи $DAY1, $DAY2 и т.н., но в полето QRY в базата данни, където слагам заявката е приело всичко без стойностите на горепосочените 6 променливи.
Ако някоя от пременливите я заменя с примерно
$pr = 1;
и тази променлива я заменя навсякъде с променливата $DAY1 примерно, нейната стойност ще бъде записана навсякъде.
Истината е че пробвах много варианти и изключвах грешки от които може да се е получило това, но нищо не става. Дори мисля че направих някаква малка формичка и скриптче да пробвам дали през тях ще успея да въведа някаква променлива и СТАНА???? Въобще незнам какво се обърква.
Останалата част от кода в скрипта не е грешна, защото пробвах въпросните 6 променливи като ги замених с други и всичко работи, но стане ли на въпрос за тези взети през POST нищо не става. Стойностите си се приемат, но когато трябва да отидат в база данни нищо не става!
Моля някой да помогне! Писна ми да пия аспирини! Сигурно е нещо идиотско, което не мога да видя!
| |
Тема
|
Re: Губене на променлива
[re: zezo]
|
|
Автор |
Bълk (умора няма) |
Публикувано | 16.01.07 02:44 |
|
хм... поне селекта та ти връща сет ако нямаш друга идея това е до цкл ... ама къде са ти кавичките?
| |
Тема
|
Re: Губене на променлива
[re: zezo]
|
|
Автор | пxп шмaтka (Нерегистриран) |
Публикувано | 16.01.07 10:41 |
|
update qry set qry='$query' where id=1???
Имаш таблица и поле с едно и също име. Не ескейпваш данните от POST-а. Тва че ти се губела някава променлива не е най-големия ти проблем.
| |
Тема
|
Re: Губене на променлива
[re: пxп шмaтka]
|
|
Автор | zezo (Нерегистриран) |
Публикувано | 16.01.07 11:17 |
|
Какво значи "Ескейпваш"?
Всъщност еднаквите имена не са проблем.
Всичко работи, но ако не приравнявам променливите от POST. Ако тези променливи не взимат данните от ПОСТ-а примерно така:
$day1 = 0;
$day2 = 0;
$mount1 = 0;
$mount2 = 0;
$year1 = 0;
$year2 = 0;
всичко си работи, но щом ги взимам от ПОСТ те се приравняват, но не влизат в записа за база данни и то само когато го вмъквам в таблицата. Ще дам пример.
Пак споменавам че другите неща са си в ред и работят! Проблемът е че тези променливиминат ли през ПОСТ, ECHO принтва правилно заявката, но когато искам да я запиша в базата данни тя се записва без тези променливи, въпреки че те са приели своите стойности!
| |
Тема
|
Re: Губене на променлива
[re: zezo]
|
|
Автор |
edembg (Ученик) |
Публикувано | 16.01.07 12:34 |
|
Опитай това:
$day1 = int_val(trim($_POST['day1']));
.....
$qu = "update qry set qry='".addslashes($query)."' where id=1";
Мисля, че това е начина.
Успех
И най-ярките личности си плащат тока.
| |
Тема
|
Re: Губене на променлива
[re: edembg]
|
|
Автор | zezo (Нерегистриран) |
Публикувано | 16.01.07 13:59 |
|
Лошо! И така не става! ДАже пробвах всякакви комбинации от предложеното, но нищо не се получава.
| |
Тема
|
Re: Губене на променлива
[re: zezo]
|
|
Автор | zezo (Нерегистриран) |
Публикувано | 16.01.07 14:00 |
|
Само да поясна, че дори като записвам заявката и в текстови файл пак не се записват тези 6 променливи!
| |
Тема
|
Re: Губене на променлива
[re: zezo]
|
|
Автор | zezo (Нерегистриран) |
Публикувано | 16.01.07 20:43 |
|
Проблемът е оправен! Оказа се че вградените в един HTML файл CSS стилове по някакъв начин объркват РНР-то, понеже в началото на скрипта принтвах горната част на HTML в която имаше от каскадните стилове. След като ги направих да се зареждат от външен файл, проблемът изчезна. Дори започна да ми прави проблем при въвеждането на запис в базата данни, да въвежда два записа, като единият е с нужните данни, а другият празен. Горепосоченият проблем предизвикваше и това. Нямам си на идея поради каква причина!
| |
Тема
|
Re: Губене на променлива
[re: edembg]
|
|
Автор | Mordred (Нерегистриран) |
Публикувано | 17.01.07 17:03 |
|
Не ми било addslashes(), най ми било mysql_real_escape_string().
| |
|
|
|
|