在mysql表中插入正斜杠的问题

问题描述 投票:2回答:4

在将字符串“ AM / PM”插入到mySQL表时遇到问题

$timeFormat = mysql_real_escape_string($_POST['timeFormat']);

$sql="
UPDATE profiles
SET firstName = '$firstName', lastName = '$lastName', language = '$language', timeFormat = '$timeFormat'
WHERE profileId = '$profileId'
";
mysql_query($sql) or die('Error: '.mysql_error());

没有错误,但是表仅显示AM / ??

编辑:

当我回显$ sql时得到:

UPDATE profiles SET firstName = 'Johan', lastName = 'Lund', language = 'English', timeFormat = 'AM/PM' WHERE profileId = '27'

[是,是的,在问这个问题之前,我已经搜索了很长时间。也许您有来自Stackoverflow的任何链接。我已经忽略了它。

php mysql mysql-real-escape-string
4个回答
0
投票

检查数据库中的数据类型,如果是Varchar(3),则MySQL正在截断您的数据。


1
投票

此插入没有错。您如何看待查询结果就很重要。


0
投票

检查表的字符集和排序规则,如果它是utf8字符集和utf8_bin排序规则,而latin1在正斜杠后被截断,则我可以使用TEXT列解决此问题。


-1
投票

看起来像是斜杠正在对INSERT进行某种类型的转义。我假设您的php解释器将其解释为“恶意”。

运行此:

if(get_magic_quotes_gpc())
echo "Magic quotes are enabled";
else
echo "Magic quotes are disabled";

让我知道结果。

© www.soinside.com 2019 - 2024. All rights reserved.