我正在PHP中進行註冊,並且卡住了一個意外的捕獲,請問您能幫助我嗎?代碼中的意外捕獲錯誤
0
A
回答
1
您需要關閉try
塊。
{
try
{
$email = ($_POST['email']);
$datnar = ($_POST['datnar']);
$nick = ($_POST['nick']);
$heslo = md5($_POST['heslo']);
$db->query("INSERT INTO tblosoba(`nick`, `heslo`, `email`, `datnar`) VALUES ($nick, '$heslo', $email, $datnar)");
echo "Registrace dokončena.";
} //<-------------------------------------------- Here
catch(PDOException $Exception) {
echo "Uživatel existuje";
}
}
警告:您的代碼很容易受到SQL注入。在將它傳遞給查詢之前,您需要過濾$_POST
值。
使用Prepared Statements
(參數化查詢)來避免SQL注入攻擊,因爲您已經在使用PDO。
0
前catch
0
這裏添加一個右大括號(}
)是如何解決你的代碼
if (isset($_POST['nick']) && isset($_POST['heslo']) &&
isset($_POST['email']) && isset($_POST['datnar']))
{
$sql = "INSERT INTO tblosoba(`nick`, `heslo`, `email`, `datnar`) VALUES (?,?,?,?)";
$data = [$_POST['nick'],$_POST['heslo'],$_POST['email'],$_POST['datnar']];
$db->prepare($sql)->execute($data);
echo "Registrace dokončena.";
}
請注意,你不應該使用的try-catch在這裏,但應該用事先準備好的聲明,而不是
+0
如果你解釋爲什麼OP不應該使用'try catch'塊,那會更好。 –
相關問題
- 1. 在PowerShell中捕獲意外錯誤
- 2. 捕獲完全意外的錯誤
- 3. xmllint捕獲錯誤代碼
- 4. 反應未捕獲的語法錯誤:意外的代幣
- 5. 未捕獲的語法錯誤:意外的代幣%
- 6. 未捕獲的語法錯誤:意外的代幣i
- 7. 獲取錯誤:未捕獲語法錯誤:意外的令牌
- 8. PHP代碼中出現意外錯誤
- 9. 谷歌地方API:json錯誤未捕獲SyntaxError意外的代幣
- 10. 未捕獲的語法錯誤:意外的標識符錯誤
- 11. 谷歌地圖錯誤未捕獲的語法錯誤:意外的代幣)
- 12. 未捕獲的錯誤:解析錯誤:意外令牌
- 13. 未捕獲的SyntaxError:意外的代幣
- 14. 未捕獲的SyntaxError:意外的代幣}
- 15. 未捕獲的SyntaxError:意外的代幣}
- 16. 錯誤:意外響應代碼:403
- 17. 錯誤:意外響應代碼:200
- 18. 錯誤:意外響應代碼:500
- 19. 錯誤:意外響應代碼:302
- 20. 未捕獲的語法錯誤意外的令牌{在JSON中
- 21. 未捕獲的語法錯誤:json中的意外令牌u
- 22. 獲取錯誤`未捕獲的SyntaxError:意外的令牌<`
- 23. 獲取錯誤:未捕獲SyntaxError:無效或意外的令牌
- 24. 未捕獲的SyntaxError:意外的令牌)代碼運行,雖然
- 25. 如何捕獲MySql錯誤代碼?
- 26. 猛砸代碼錯誤意外的語法錯誤
- 27. 解析代碼語法錯誤,意外的錯誤T_STRING
- 28. 從佈局中捕獲按鈕時意外停止了錯誤
- 29. 解析錯誤:語法錯誤,Crawler代碼中意外的T_VARIABLE錯誤
- 30. 未捕獲的語法錯誤:意外的令牌非法的
你的'catch'塊需要放在'try'完成之後 – Gautam3164