데이터베이스 테이블에 값을 삽입하는 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)로 변경하십시오. –