我有一個php代碼,它會在數據庫表中插入一個值。我正在使用MySql。在這裏,我必須存儲一個包含'$'符號的字符串(例如$ V#CDFBvQi)。但是,當我存儲這個值時,在存儲之前,我想用'\ $'替換子字符串'$',以便在存儲之前這個單詞將像這個\ $ V#CDFBvQi。我使用下面的PHP代碼來替換子字符串。
$dbp = $_POST['varname']; // here $dbp value is $V#CDFBvQi.
if (strpos($dbp, '$') !== false) {
$dbp = str_replace("$", "\\$", $dbp);
}
echo $dbp; //here $dbp value is \$V#CDFBvQi.
此代碼正常工作。
但是當我插入值$ dbp(現在是\ $ V#CDFBvQi)時,我的數據庫表只包含$ V#CDFBvQi。這是我的MySql插入代碼。
$link = mysql_connect("localhost", "root", "root");
mysql_select_db("dbsamplename", $link);
mysql_query("insert into sampletable values('".$dbp."')");
我該怎麼辦?請指教,因爲我是PHP的初學者。
使用「mysql_real_escape_string」或更改爲具有參數化查詢的不被棄用的MySQL API(通常爲mysqli或PDO)。 –