【发布时间】:2012-07-08 21:16:53
【问题描述】:
所以基本上它会进入并在数据库中找到一个与我输入的单词匹配的单词并吐出一个回复,该回复有效,但它完成了所有其他废话。
这是我的 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";
}
}
?>
【问题讨论】:
-
为什么会吐出其他东西???你看照片了吗?它应该只吐出“嘿”这个词而不是其他的东西
-
您能检查一下您的数据库中实际存储的内容吗?
-
看起来是来自你使用的主机,你的代码没问题,换主机!
-
@ibash 当人们在您的页面中随机注入内容时,我总是讨厌它,特别是如果这是您的虚拟主机的条款和条件之一,如果您花很多钱购买的话,更是如此。 . 哦,等等,没关系。