我有一個小問題,我試圖從昨天開始解決它。 當用戶註冊時,在註冊頁面中還有一個「贊助商」字段,即在該網站上邀請他的用戶名。 我爲每位經過驗證的推薦的贊助商提供一些獎金。當用戶確認電子郵件腳本進行驗證時,他將被激活,並且贊助商應該收到一些獎金。 這是有工作要做的腳本的一部分。SQL在一行中查詢一個值並將其更改爲另一行的值
if($status=="OK")
{
//updating status if validation passes
$rec1=mysql_query("select referedby from affiliateuser where email=$email");
$row2 = mysql_fetch_row($rec1);
$ref=$row2[0];
$query4=mysql_query(" update affiliateuser set active = 1 where email = '$email'");
$query3=mysql_query(" update affiliateuser set tamount = tamount + 5 where username = '$ref'");
$query4=mysql_query(" update affiliateuser set tamount = 49 where username = '$username'");
echo "<center><p>Thank You For Signing Up With Us.<br/>You Are Now Verified Member. You May Now Login Into Website. </p></center>";
}
所以,如果一切正常,將選擇該用戶贊助商的用戶名,$ QUERY3應該再更新贊助的行改變了他的平衡(tamount),但他的平衡不變。如果這件事有什麼問題,我會放一些代碼行來說錯誤,並說錯誤。 我第一次嘗試這樣的兩行,這很可能是我寫錯了。 我如何解決這個問題,它有任何其他方式。目前我不關心SQL注入等,只是想解決這個問題,謝謝。
您使用的是史前'mysql_ *'庫,你的代碼是在SQL注入嚴重的風險 - 幫你一個忙,閱讀關於準備好的語句和PDO的教程 –
那麼你可能不關心SQL注入,SQL注入問題也是爲什麼這個'where email = $ email'是無效的SQL。你也可以在2 – chris85
是的,但他們可以知道我在用什麼?鏈接是不可注射的。 –