[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь! MySQL! UPDATE
lawbreaker
всем привет! есть форма редактирования профиля. нужно что бы все поля сохранилися. Как зделать несколько раз UPDATE ?
HTML
$link=mysql_connect("*******", "*******" , "*******") or die("fuck db");
$sql = "SELECT * FROM `allday`.`users` WHERE `uid`='".(int)$_GET['uid']."' ";
$q = mysql_query($sql) or die("Error: ".mysql_error());;
echo "<form action=?event=editname method=POST>Username:<br><input type=text
value
=\"".htmlspecialchars(mysql_result($q,0,1))."\" name=name><br>Passwort:<br> <input type=password name=pass value=\"".htmlspecialchars(mysql_result($q,0,2))."\"><br>E-Mail:<br><input type=text name=email value=\"".htmlspecialchars(mysql_result($q,0,3))."\"><br>ICQ:<br><input type=text name=icq value=\"".htmlspecialchars(mysql_result($q,0,5))."\"><br>URL:<br><input type=text name=url value=\"".htmlspecialchars(mysql_result($q,0,6))."\"><br>
<input type=hidden name=uid value=\"".$_GET['uid']."\"><input type=submit value=Aendern name=send></form>";

ето форма. а вот код замены полей UPDATE
PHP
$user $_POST['name'];
    
$pass $_POST['pass'];
    
$email $_POST['email'];
    
$icq $_POST['icq'];
    
$url $_POST['url'];
    
$uid $_POST['uid'];
    
    
$link=mysql_connect("s5.ho.ua""allday" "Paragraf78") or die("fuck db"); 
    
mysql_select_db ("allday") or die ("no db");
    
$sql "UPDATE users
    SET name = '"
.$user."'
    WHERE uid = '"
.$uid."'",
        
"UPDATE users
        SET password = '"
.$pass."'
        WHERE uid = '"
.$uid."'"
            
"UPDATE users
            SET email = '"
.$email."'
            WHERE uid = '"
.$uid."'",
                
"UPDATE users
                SET icq = '"
.$icq."'
                WHERE uid = '"
.$uid."'",
                    
"UPDATE users
                    SET url = '"
.$url."'
                    WHERE  uid = '"
.$uid."' ";
mysql_query($sql);
вот так не работает.



Спустя 21 минута, 2 секунды (31.01.2009 - 23:49) kirik написал(а):
Цитата (lawbreaker @ 31.01.2009 - 15:28)
вот так не работает.

А должно? smile.gif

Каждый Delete/Insert/Update/Replace запрос должен выполняться отдельно. А в твоем случае можно перечислить изменяемые поля через запятую -

PHP
$sql = "UPDATE `users`
        SET `name` = '{$user}', `password` = '{$pass}', `email` = '{$email}', `icq` = '{$icq}', `url` = '{$url}'
            WHERE `uid` = '{$uid}'"
;
mysql_query($sql);


UPD. когда от юзера принимаешь данные, обрабатывай их, чтобы не хакнули тебя через sql инъекцию.

Спустя 2 минуты, 10 секунд (31.01.2009 - 23:51) REANIMATOR написал(а):
почему бы не использовать синтакс типа
PHP
"UPDATE users SET name = '".$user."', password = '".$pass."', email = '".$email."', icq = '".$icq."',url = '".$url."' 
 WHERE  uid = '"
.$uid."'"

Спустя 30 минут, 23 секунды (1.02.2009 - 00:21) lawbreaker написал(а):
спасибо! уже разобрался!
у меня ещё куча вопросов
дайте плиз ссылку на мануал пу mySQL
в инете нигде найти не могу! всё только английское. sad.gif

Спустя 16 минут, 55 секунд (1.02.2009 - 00:38) REANIMATOR написал(а):

Спустя 1 минута, 34 секунды (1.02.2009 - 00:40) lawbreaker написал(а):
спасибо - скажем дружно


_____________
Я Андрей и мне 14 лет :)
И ни как не дождусь когда HardWoman меня удалит
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.