Hi !
I need some help, I've been stuck on this for hours . This code works well to update a data in mysql :
<html>
<head>
<title>Password Entry Results</title>
</head>
<body>
<h1>Password Entry Results</h1>
<?php
// create short variable names
$id = "";
$login=$HTTP_POST_VARS['login'];
$passe=$HTTP_POST_VARS['passe'];
$npasse=$HTTP_POST_VARS['npasse'];
$npasse2=$HTTP_POST_VARS['npasse2'];
if (!$login || !$passe || !$npasse || !$npasse2)
{
echo 'You have not entered all the required details.<br />'
.'Please go back and try again.';
exit;
}
if ($npasse !== $npasse2)
{
echo 'You have made a mistake while entering the passwords.<br />'
.'Please go back and try again.';
exit;
}
$id = addslashes($id);
$login = addslashes($login);
$passe = addslashes($passe);
$npasse = addslashes($npasse);
@ $db = mysql_pconnect('localhost', 'root', '');
if (!$db)
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}
mysql_select_db('mailelani') or exit("Could not connect");
$query = 'UPDATE `passe` SET `passe` = ''patapouf'' WHERE `login` = ''fuerim1'' LIMIT 1 ;'
. ' ';
$result = mysql_query($query);
echo $result ." password modified";
?>
</body>
</html>
but if I try to use variables, it doesn't :
$query = 'UPDATE `passe` SET `passe` = $npasse WHERE `login` = $login LIMIT 1 ;'
. ' ';
$result = mysql_query($query);
what I am doing wrong ????
Thanks for your help, I'm getting crazy !
problem with Update query (variable)
Moderator: General Moderators
- orangeapple
- Forum Commoner
- Posts: 70
- Joined: Tue Jan 06, 2004 1:24 pm
- Location: Geneva / Switzerland
- Sevengraff
- Forum Contributor
- Posts: 232
- Joined: Thu Apr 25, 2002 9:34 pm
- Location: California USA
- Contact:
Code: Select all
$query = 'UPDATE `passe` SET `passe` = $npasse WHERE `login` = $login LIMIT 1 ;'Code: Select all
$query = "UPDATE `passe` SET `passe` = $npasse WHERE `login` = $login LIMIT 1 ;"Code: Select all
$query = 'UPDATE `passe` SET `passe` = ' . $npasse . ' WHERE `login` = ' . $login . ' LIMIT 1 ;'Also, don't you need to specify a table with UPDATE?
Code: Select all
UPDATE TABLE `users` SET passe = $npasse WHERE login = $login LIMIT 1;- orangeapple
- Forum Commoner
- Posts: 70
- Joined: Tue Jan 06, 2004 1:24 pm
- Location: Geneva / Switzerland
Thanks a lot Sevengraff,
Sorry, but I'm a newbie. I tried these 3 codes and it doesn't work :
$query = 'UPDATE `passe` SET `passe` = ' . $npasse . ' WHERE `login` = ' . $login . ' LIMIT 1 ;'
. ' ';
$query = "UPDATE TABLE `passe` SET passe = $npasse WHERE login = $login LIMIT 1;"
. ' ';
$query = "UPDATE `passe` SET `passe` = $npasse WHERE `login` = $login LIMIT 1 ;"
. ' ';
The name of the table is : passe and the name of a field is also : passe
$query = 'UPDATE `passe` SET `passe` = ' . $npasse . ' WHERE `login` = ' . $login . ' LIMIT 1 ;'
. ' ';
$query = "UPDATE TABLE `passe` SET passe = $npasse WHERE login = $login LIMIT 1;"
. ' ';
$query = "UPDATE `passe` SET `passe` = $npasse WHERE `login` = $login LIMIT 1 ;"
. ' ';
The name of the table is : passe and the name of a field is also : passe
- Sevengraff
- Forum Contributor
- Posts: 232
- Joined: Thu Apr 25, 2002 9:34 pm
- Location: California USA
- Contact:
You have quotes ending the lines outside the ;'s.
Code: Select all
// example
// bad
$query = 'UPDATE `passe` SET `passe` = ' . $npasse . ' WHERE `login` = ' . $login . ' LIMIT 1 ;'. ' ';
// better
$query = 'UPDATE passe SET passe = '.$npasse.' WHERE login = '''.$login.''' LIMIT 1';
// or...
$query = "UPDATE passe SET passe = '{$npasse}' WHERE login = '{$login}' LIMIT 1";- orangeapple
- Forum Commoner
- Posts: 70
- Joined: Tue Jan 06, 2004 1:24 pm
- Location: Geneva / Switzerland