我正在帮助开发优惠券网站的数据库中检索一个字段。其中一个字段有促销信息,例如,"只需10.99美元即可购买此产品"。当我检索字段并回复它时,它会将价格解析为一个变量,最后我会得到"只需.99美元即可买到此产品"
我该如何避免这种情况?
我的代码如下:
$resultTitle = mysql_query("SELECT post_title FROM wp_posts WHERE ID = " . $f_couponId . " LIMIT 1") or die(mysql_error());
$valueTitle = mysql_result($resultTitle,0);
$echo("$valueTitle");
Thx!
- 您可以使用以下转义符来转义$''使用''10.99美元
- 另外,不要使用$echo,它不是一个函数
- 现在不要用mysql,它已经贬值了,用mysqli吧
回显包含$
的字符串不可能将该$
视为变量。
例如
php > $foo = 'This string has a $ sign in it, and another $fake one as well';
php > echo "$foo";
This string has a $ sign in it, and another $fake one as well
http://php.net/manual/en/function.money-format.php
我在库存和小型会计系统中使用过这种方法。希望它能有所帮助。
这里应该做两件事;
- 将价格保存在不带货币符号的数据库中
它不是必需的,可能会混淆数据库和您。相反,在将价格回复到网页时使用它。然而
- 不要使用
$
符号
您不需要这样做,因为有一个HTML代码会为您显示它($
)。这样一来,它也将符合标准。在回显价格之前,您应该对变量进行数字格式设置;
$price = number_format($valueTitle,2);
echo "$$price";
还要注意,您应该使用echo
而不是$echo
此外,您的数据库对SQL注入是完全开放的。请阅读如何在PHP中防止SQL注入。
希望这能有所帮助。