我有一个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)。 –