Глупый UPDATE

ArkDoom

Новичок
Глупый UPDATE

И так...вроде во многом разобрался уже и во многом благородя Вам =)) встал мозг на след веши

Есть переменные:

$id - это возвращенное id вставленной информации, его нужно запихнуть в ранее созданную таблицу откуда и получился этот id.

функция

$query = "UPDATE ".$usertable." SET photodir WHERE ".id." = ".id."";


Таблица - Тест
Столбец - photodir (куда нужно пихать $id)

И еще, перед этим у меня в этом же скрипте впихиваеться инфа берется $id и слнед фунции идет эта. Так можно илил нет?

Зарание спасибо =)
 

pilot911

Новичок
скачай вот эту программу и делай в ней тесты-запросы

http://www.heidisql.com/download.php
 

Фанат

oncle terrible
Команда форума
$query = "UPDATE ".$usertable." SET photodir WHERE ".id." = ".id."";
Сначала напиши этот запрос так, как будто у тебя нет переменных, а есть уже готовое значение. убедись, что запрос работает
Затем напиши пхп код, которые создает этот запрос.
выведи на экран. И есл не совпадает - повторить. До тех пор, пока запрос не будет такой же, как эталонный.

Таким образом ты разделишь работу с двумя неизвестными тебе системами - SQL и PHP
 

ArkDoom

Новичок
Принял холодный душ....причесал бороду и вот:

UPDATE zagorod SET photodir = 131 WHERE id = 131


Фана, я как твой пост прочитаю.....У меня мозг начинает работать =)))

-~{}~ 21.12.09 02:48:

$query2 = "UPDATE ".$usertable." SET 'photodir' = ".$id." WHERE 'id' = ".$id."";

Вот так вроде должно быть или с кавычками чета не то?

Просто мне пишет вот что 'Column 'photodir' cannot be null' +_+ Переменная $Id получаеться точно ибо в директории создается папка с именем ($id).
 

baev

‹°°¬•
Команда форума
ArkDoom, Вам же написали:

Автор оригинала: *****
Затем напиши пхп код, которые создает этот запрос.
выведи на экран. И есл не совпадает - повторить. До тех пор, пока запрос не будет такой же, как эталонный.
И прочтите вот это:
http://phpfaq.ru/debug
 

ArkDoom

Новичок
Разобрался с NULL там все ок.

Но на UPDATE кричит вот что

int(138)
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 'SET photodir = 138 WHERE id = 138' at line 1
 

Фанат

oncle terrible
Команда форума
Автор оригинала: *****
Затем напиши пхп код, которые создает этот запрос.
выведи на экран. И есл не совпадает - повторить. До тех пор, пока запрос не будет такой же, как эталонный.
 

ArkDoom

Новичок
$sql = 'UPDATE `zagorod` SET `photodir` = 999 WHERE `ID` = 164 LIMIT 1';

Все добавляет, но если начинаю вводить переменные они не добавляются.

$sql = 'UPDATE `zagorod` SET `photodir` = ".$id." WHERE `ID` = ".$id." LIMIT 1';
 

ArkDoom

Новичок
Что вывести на ЭКРАН? ID - выводиться через эхо

-~{}~ 21.12.09 12:29:

$sql = 'UPDATE `zagorod` SET `photodir` = ".$id." WHERE `ID` = ".$id." LIMIT 1';
echo "".$id."";



Эхо пишит Id но в базу не добавляет
 

ArkDoom

Новичок
echo "".$sql."";

UPDATE `zagorod` SET `photodir` = ".$id." WHERE `ID` = ".$id." LIMIT 1

-~{}~ 21.12.09 12:45:

var_dump($var) - Показывает перемнную

-~{}~ 21.12.09 12:47:

int(187)
UPDATE `zagorod` SET `photodir` = ".$id." WHERE `ID` = ".$id." LIMIT 1
 

Фанат

oncle terrible
Команда форума
это похоже на UPDATE `zagorod` SET `photodir` = 999 WHERE `ID` = 164 LIMIT 1?
 

damngood

Мозг был, но ушел...
ArkDoom
Ты понимаешь разницу между ' и " кавычками?

-~{}~ 21.12.09 12:56:

echo "".$sql."";
Что это за изврат?
 

Фанат

oncle terrible
Команда форума
это не изврат.
это логический вывод из того, что echo всегда бывает с кавычками %)
 

ArkDoom

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

Спасибо Вам)

-~{}~ 28.12.09 01:09:

Вопрос как правильно вставить переменные Post в Update:
$sql = 'UPDATE `zagorod` SET `direction` = '.$_POST['direction'].',
`tape` = '.$_POST['tapee'].',
`country` = '.$_POST['country'].',
`Mkad` = '.$_POST['Mkad'].',
`ground` = '.$_POST['ground'].',
`area` = '.$_POST['area'].',
`price` = '.$_POST['cost']. .$_POST['currency'].',
`owner` = '.$_POST['owner'].',
`form` = '.$_POST['form'].',
`fanced` = '.$_POST['fanced'].',

Я думаю что я не правльно сделал строчку price
 

zerkms

TDD infected
Команда форума
phpfaq.ru/debug
выводить запрос и смотреть - правильно или нет.
 
Сверху