php来自用户输入和数据库的字符串

时间:2013-09-25 11:32:35

标签: php

我对此字符串有疑问

目前我通过简单的插入查询将一些字符串保存到数据库中,并通过此代码清理数据

mysql_real_escape_string($data)

我使用简单的查询从数据库中获取数据

示例输入

$saveString = "You're great";

...节省

Insert into . . . values (mysql_real_escape_string($saveString))

现在当我收到字符串时,我得到You're great字符串

当我使用此代码时

$str = str_word_count(strtolower($fromDbString), 1);

print_r($str);

输出:

Array
(
    [0] => You're
    [1] => great 
)

但是如果字符串来自文本框中的用户输入并且我使用此代码。

   $str = str_word_count(strtolower($fromUserInput), 1);

    print_r($str);

我得到这样的东西:

   Array
    (
        [0] => You
        [1] => re
        [2] => great 
    )

如何修复数据库中的字符串,使其处理类似于用户输入的字符串?

我尝试htmlentities()来检查值,输出是

来自db You're great

来自输入You're great

我试图从db中对字符串进行html解码但它仍然输出You're great

2 个答案:

答案 0 :(得分:2)

您可以尝试添加addslashes():

$str = str_word_count(addslashes(strtolower($fromUserInput)), 1);

print_r($str);

答案 1 :(得分:0)

如果要返回包含所有字符串单词的数组,可以尝试使用str_word_count

$str = preg_split("/[' ]/", strtolower($fromUserInput));
//$str = preg_split("/[' ]/", strtolower($fromDbString));
print_r($str);