Php MySQL数据转换为值属性?(引述)

Php MySQL数据转换为值属性?(引述),php,Php,好吧,关于PHP我还有很多东西要学。我试图从MySQLi数据库中检索数据,在我被迫在双引号或单引号之间进行选择之前,一切都很好。使用real_escape_string,我可以存储包含单个引号的字符串数据,它只是用反斜杠进行转义,但是如果我在将其插入value属性时不使用stripslashes() 如果“我的值”属性在代码中是这样的:value=“\”然后在字符串中用双引号括起来,请修剪它后面的任何数据,因为它似乎被解释为值属性的结尾 如果我的value属性在代码中是这样的:value=''那

好吧,关于PHP我还有很多东西要学。我试图从MySQLi数据库中检索数据,在我被迫在双引号或单引号之间进行选择之前,一切都很好。使用real_escape_string,我可以存储包含单个引号的字符串数据,它只是用反斜杠进行转义,但是如果我在将其插入value属性时不使用stripslashes()

  • 如果“我的值”属性在代码中是这样的:value=“\”然后在字符串中用双引号括起来,请修剪它后面的任何数据,因为它似乎被解释为值属性的结尾

  • 如果我的value属性在代码中是这样的:value=''那么如果我不使用stripslashes(),我会在输出中看到斜线,如果我使用stripslashes(),这与双引号是一样的,但是字符串中的任何转义单引号都是一样的


  • 希望这是有意义的。我现在很累,但如果有人不太理解,我会回答他们一些问题,我相信我们可以解决这个问题。:)

    如果必须将数据输出到可能具有特殊字符的html中,请使用
    htmlspecialchars

    <input type="text" value="<?php echo htmlspecialchars('\'"&<>') ?>">
    

    我已经发现,stripslashes()和htmlentities()的组合似乎成功了。你能解释一下为什么我会在htmlspecialchars()上使用htmlspecialchars()吗?我在SO上找到了这个链接:。。。似乎htmlentities()更容易满足我的需要。不过,我会记住htmlspecialchars()以备将来参考。不过,我没有处理任何特殊的UTF-8字符,所以htmlentities()应该很好……我只是想写一些类似的东西,说明您根本不应该使用斜杠。如果你在输出中有额外的斜杠,那么你也不应该添加它们。我首先不添加它们,这是我从数据库中获得的转义值的输出,如果我不使用该函数,你如何消除斜杠?这就是我说的:你不应该在数据库中添加这些斜杠好的。。。但我是这么说的:“我一开始并没有添加它们”。我的数据库中没有斜杠,它们是在我出于某种原因从数据库中选择时显示的。。。我使用的唯一函数是插入值上的real_escape_字符串。这个错误可能是我在查询输出时犯的愚蠢错误。。。虽然我相信现在已经修好了。:)再次声明:任何添加额外斜杠的内容都必须删除。不管是真的、逃跑的还是其他的。您必须不添加斜杠,而不是不断删除斜杠