Re: Not updating certain fields in same row

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 25, 2008 at 1:14 PM, Jason Pruim <japruim@xxxxxxxxxx> wrote:
>
>  the actual query I'm using is this:
>
>         $chpwsql = "UPDATE current SET customerName='$customerName',
>  loginName='$loginName', loginPassword='$PW', email='$email',
>  adminLevel='$adminLevel' WHERE Record='$Record1'";
>
>  What it is doing now is if I don't set a a field I am replacing the
>  content of it with a tab, which isn't what I want. Basically what I'm
>  looking for is if loginPassword hasn't changed... don't clear the
>  contents of it. if it has changed, then update loginPassword

    Okay, since you won't only want to rely on isset() here (in case
someone accidentally hits a key into the field), try this:

// NOTE: This assumes prior sanity checks and cleansing
// of variables, and is written like so to avoid breaking
// of the query due to mail client-enforced line breaks.
$chpwsql  = "UPDATE current SET ";
$chpwsql .= "customerName='".$customername."',";
$chpwsql .= "loginName='".$loginName."',";
if(preg_match('/^[a-z0-9]{5,16}$/i',$PW)) {
    // If it's between 5-16 case-insensitive alphanumeric
    // characters, it's all good. If you want to allow symbols,
    // simply modify the regexp accordingly.
    $chpwsql .= "loginPassword='".$PW."',";
}
$chpwsql .= "email='".$email."',";
$chpwsql .= "adminLevel='".$adminLevel',";
$chpwsql .= " WHERE Record='".$Record1."'";
$chpwsql .= " LIMIT 1";

-- 
</Daniel P. Brown>
Forensic Services, Senior Unix Engineer
1+ (570-) 362-0283

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux