Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何准确地回显MySQL字段中存储的内容?_Php_Mysql_Select - Fatal编程技术网

Php 如何准确地回显MySQL字段中存储的内容?

Php 如何准确地回显MySQL字段中存储的内容?,php,mysql,select,Php,Mysql,Select,我觉得这可能有一个非常简单的答案,但我花了大约20分钟搜索,什么也找不到 基本上,我使用PHP查询一个表并将结果作为列表输出,使用表的主键列(COL_1)为每个记录创建一个链接,将用户带到该记录的详细信息页面。当COL_1中的数据是一个直接的字符串(如“TEST”)时,它可以正常工作。编辑链接将是detail.php?COL_1=TEST详细信息页面使用链接传递的数据查询数据库。因此,在本例中,它将在COL_1='TEST'的表上进行选择,并返回正确的记录 然而,当新行字符存储在COL_1中时,

我觉得这可能有一个非常简单的答案,但我花了大约20分钟搜索,什么也找不到

基本上,我使用PHP查询一个表并将结果作为列表输出,使用表的主键列(COL_1)为每个记录创建一个链接,将用户带到该记录的详细信息页面。当COL_1中的数据是一个直接的字符串(如“TEST”)时,它可以正常工作。编辑链接将是
detail.php?COL_1=TEST
详细信息页面使用链接传递的数据查询数据库。因此,在本例中,它将在COL_1='TEST'的表上进行选择,并返回正确的记录

然而,当新行字符存储在COL_1中时,事情变得有点复杂。例如,如果“TEST\r\nTEST”存储在COL_1中,当整个表的原始查询完成时,该行的$row['COL_1']将给出“TESTTEST”,它作为
detail.php?COL_1=testtesttest
传递到详细信息页面,详细信息页面在COL_1='testtesttest'的表上进行选择,并且不返回任何内容

但是,如果我手动链接到detail.php?COL_1=TEST\r\n TEST,则详细信息页面将查询“TEST\r\nTEST”并返回正确的记录

所以基本上我需要的是一种查询方法,让$row['COL_1']返回'TEST\r\nTEST'而不是'TESTTEST'。这有意义吗?我该怎么做呢


至于为什么桌子是这样摆的,别问我。不是我设计的。我从来没有设计过这样可以包含换行符的键。但我必须和这张桌子互动。呸。

您应该对URL中传递的值进行编码:

echo urlencode("TEST\r\nTEST");

但是,为什么
TEST\r\nTEST
会是主键?那太疯狂了。也许你需要重新思考你是如何做事的。主键作为整数工作得很好。

为什么主键字段是一个文本字段,上面似乎有任意文本?这是一个严重的危险信号,没有很好的理由。不管是哪种方式,在创建链接时只需urlencode。“至于为什么表是这样设置的,不要问我。我没有设计它。”相信我,我一直在问“为什么”这里的设计方式。@PaoloBergantino关于
urlencode
的说法是正确的。您不需要使用
urldecode
,PHP将自动为您执行此操作。是的,这很有效!或者更确切地说,urlencode($row['COL_1'])是有效的,但也是一样的。我想它只是一个函数,但我找不到它。谢谢伟大的你不能为键添加一个新的
int
列吗。。。像这样的改变必须经过我的老板,他不喜欢我在既定的表格上捣乱。即使他们是以一种完全愚蠢的方式建立起来的。