2

将字符串“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 的任何链接。我已经忽略了它。

4

4 回答 4

1

这个插入没有错。
关键是您如何查看查询结果。

于 2011-02-22T18:45:38.547 回答
0

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

于 2011-02-22T18:58:28.687 回答
0

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

于 2020-01-06T22:27:48.940 回答
-1

看起来那个斜线在插入时正在做某种类型的转义。我假设它被您的 php 解释器解释为“恶意”。

运行这个:

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

让我知道结果。

于 2011-02-22T18:48:27.397 回答