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

ホスティング会社は、送信されるすべてのページにGoogle(?)Analyticsコードを自動的に追加しています。彼らと話してください。

于 2012-07-09T13:10:41.820 に答える
0

文字列を壊していないことを確認するために、次の変更を試してください。

echo $r['reply'];

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

とにかく同じように動作しますか?

ただし、上記の答えがおそらく理由です。

エコーで配列を使用する方法に関するPHPドキュメントの例を次に示します。

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

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

明確に知りたい場合は、http://www.apachefriends.org/en/index.htmlにアクセスして、XAMPPのコピーを入手してください。

これを使用すると、MYSQLデータベースのローカルコピーをすばやくセットアップできます。現在のホストからデータベースデータを移行して、既存のセットアップを複製します。

次に、PHPで、新しいローカルデータベース(「localhost」上)を指すように変更し、同じ結果が得られるかどうかを確認します。

私の疑いは他のみんなと同じです:)

于 2012-07-09T13:20:28.257 に答える