gpt4 book ai didi

php , mysql 插入 $ 符号不起作用

转载 作者:行者123 更新时间:2023-11-30 01:28:09 25 4
gpt4 key购买 nike

我有一个 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 扩展已弃用,不应使用。将 mysqli 与准备好的语句一起使用,您无需担心转义字符串。我相信下面的代码可以解决您的问题。

示例:

$stmt = $mysqli -> prepare("insert into sampletable values(?)");
/* Bind parameters */
$stmt -> bind_param("s", $dbp);
/* Execute it */
$stmt -> execute();

完整示例请参见:http://mattbango.com/notebook/code/prepared-statements-in-php-and-mysqli/

关于php , mysql 插入 $ 符号不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com