1

所以基本上它进入并在数据库中找到一个与我输入的单词匹配的单词并吐出一个有效的回复,但它会做所有其他废话。

http://i.imgur.com/Lh7iZ.png

这是我的 PHP 代码

<?php
    // Connect to database
    mysql_connect("*****", "***", "****");
    mysql_select_db("***");

    // If something is received
    if($_POST)
    {
        if($_POST['action'] == "ask")
        {
            // Filter it to prevent SQL injections
            $text = mysql_real_escape_string($_POST['stringdata']);

            // Search it on the database
            $q = mysql_query("SELECT `reply` FROM `poka` WHERE `word` = '$text' ORDER BY RAND()");

            // Show result
            if($r = mysql_fetch_assoc($q))
                echo $r['reply'];
            else
                echo "Cannot find a reply";
        }
        elseif($_POST['action'] == "teach")
        {
            // Filter it to prevent SQL injections
            $word = mysql_real_escape_string($_POST['word']);
            $answer = mysql_real_escape_string($_POST['answer']);

            // Insert it to the database
            if( mysql_query("INSERT INTO `poka` VALUES(NULL, '$word', '$answer')") )
                echo "ok";
            else
                echo "fail";
        }
    }
?>
4

3 回答 3

4

Your hosting company is automatically adding Google(?) Analytics code to every page sent. Talk to them.

于 2012-07-09T13:10:41.820 回答
0

如果您想明确了解,请访问 http://www.apachefriends.org/en/index.html并为自己挑选一份 XAMPP。

有了它,您可以快速设置 MYSQL 数据库的本地副本。从您当前的主机迁移您的数据库数据以复制您已有的设置。

然后在您的 PHP 中,将其更改为指向新的本地数据库(在 'localhost' 上)并查看是否得到相同的结果。

我的怀疑和其他人一样:)

于 2012-07-09T13:20:28.257 回答
0

您能否尝试以下更改,以确保您没有破坏任何字符串。

echo $r['reply'];

echo "{$r['reply']}";

无论如何它的行为方式相同吗?

虽然,上面的答案可能是原因。

以下是PHP 文档中有关如何在 echos 中使用数组的示例:

// You can also use arrays
$baz = array("value" => "foo");

echo "this is {$baz['value']} !"; // this is foo !
于 2012-07-09T13:12:29.183 回答