PHP Mysql为什么这样做? Android的

时间:2012-07-09 13:05:48

标签: java php android mysql

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

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";
        }
    }
?>

3 个答案:

答案 0 :(得分:4)

您的托管公司会自动将Google(?)Google Analytics代码添加到每个发送的网页中。和他们谈谈。

答案 1 :(得分:0)

你可以尝试以下更改,只是为了确保你没有破坏任何字符串。

echo $r['reply'];

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

它的行为方式是否相同?

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

以下是the PHP documentation on how to use arrays in echos的示例:

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

echo "this is {$baz['value']} !"; // this is foo !

答案 2 :(得分:0)

如果你想明确知道,请转到http://www.apachefriends.org/en/index.html并自己拿一份XAMPP。

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

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

我的怀疑与所有人一样:)