2015-12-31 61 views
0

我想在表列中保存字符串「thats'one」,但我不想使用mysqli_real_escape_string。任何人都可以指導我如何做到這一點?在沒有mysqli_real_escape_string的數據庫中保存帶單引號的字符串

+3

爲什麼你不想使用'mysqli_real_escap_string'?這背後的原因是什麼? – Saty

+0

你的插入查詢代碼在哪裏? – Sadikhasan

+1

使用參數化查詢。有很多教程,主題和網站已經解決了這個問題。如果您遇到特定問題,請發佈您的代碼。 – chris85

回答

4

由於我看到這麼多低質量的評論在這裏,這裏是一個粗略的未經測試的答案。

$query = "INSERT INTO table (Column) VALUES (?)"; 
$stmt = $mysqli->prepare($query); 
$stmt->bind_param("s", $val1); 
$val1 = "thats'one"; 
$stmt->execute(); 

這假定$mysqli是你的連接對象。

在話題的鏈接:

http://php.net/manual/en/mysqli-stmt.execute.php
http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#Defense_Option_1:_Prepared_Statements_.28Parameterized_Queries.29
http://php.net/manual/en/security.database.sql-injection.php
How can I prevent SQL injection in PHP?

+0

這是足夠的解釋解釋插入'thats'one'而不使用'mysqli_real_escap_string' – Saty

相關問題