使用PHP在MySQL中插入符号

10 浏览
0 Comments

使用PHP在MySQL中插入符号

我正在使用php和mysql,我在插入纬度和经度值时遇到了问题,包括度、分和秒符号。也就是(°,',")符号。

我参考了几个网站并尝试了不同的方法,但是我就是解决不了。

首先我尝试将符号复制并与3个用户输入的值连接起来。

$latitude=$degree.'°'.$min.'''.$sec.'?'.'N';

然后执行插入查询后,$latitude变量的值被插入到数据库中,但是符号被随机字符替换,如下所示。

2Ëš3ʼ4ËN (存储在数据库中的数据)

然后我尝试使用html字符代码代替符号。

$latitude=$degree.'°'.$min.'’'.$sec.'#8221'.'N';

但是它不起作用。它在数据库中显示相同的html字符。

我不知道这是html实体的问题还是其他问题。

0
0 Comments

问题:在使用PHP向MySQL中插入符号时遇到的问题

解决方法:使用mysqli_real_escape_string()函数进行转义

在使用PHP向MySQL数据库中插入符号时,有时会遇到一些问题。为了解决这个问题,我们可以使用mysqli_real_escape_string()函数来转义特殊符号。该函数可以确保插入的数据不会破坏SQL语句的结构。

下面是一个示例代码:

$result = mysqli_real_escape_string();

此外,你还可以参考下面的链接来了解更多关于mysqli_real_escape_string()函数的相关信息:

http://php.net/manual/en/mysqli.real-escape-string.php

0
0 Comments

问题的原因是希望将符号插入MySQL中使用PHP时遇到了困难。解决方法是将这些值存储为浮点数值,并在显示时应用所需的格式化。例如,存储日期为"2015-04-23",但在显示时可能显示为"4th April, 2015"。存储金额为"10.50",但在显示时可能显示为"$10.50 USD"。对于纬度/经度的存储,可以考虑以下几种方法:将其存储为"36.31985",但在显示时进行必要的转换为"36°19'11.46" N";将其存储为"36D19M11.46S N",但在显示时使用必要的字符串操作来显示为"36°19'11.46" N";将其存储为四个部分"lat_deg"、"lat_min"、"lat_sec"、"lat_dir",但在显示时使用连接操作显示为"36°19'11.46" N"。

以下链接可能对解决问题有所帮助:

- [mysql-convert-degree-minutes-seconds-to-degree-decimal](https://stackoverflow.com/questions/27868228)

- [latitude-and-longitude-datatype-and-storage-format](https://stackoverflow.com/questions/5722948)

- [convert-dd-to-dms-in-mysql](http://assemblysys.com/convert-dd-to-dms-in-mysql/)

- [converting-latitude-and-longitude-coordinates-between-decimal-and-degrees-minutes-seconds](https://www.dougv.com/2012/03/converting-latitude-and-longitude-coordinates-between-decimal-and-degrees-minutes-seconds)

- [whats-the-best-way-to-store-co-ordinates-longitude-latitude-from-google-maps](https://stackoverflow.com/questions/551894)

感谢您的建议,我也认为将其放在一个列中更好,但我的建议是不要包含可能的格式化。请查看我的更新答案。

0