这是否有任何问题,因为我没有输出返回?提前致谢。这个PHP代码有错误吗?
$question_text = $_POST['question_text'];
$first_word = explode(" ", $question_text);
$query ="SELECT c.field_name,t.category_name, d.domain_name FROM category_fields c, taxonomy_category t, taxonomy_domain d
WHERE c.category_Id = t.category_Id AND t.domain_Id = d.domain_Id
AND c.field_name = '$first_word'";
我已经改变了我的代码这一点,仍然没有output.Is那里的方式有问题我展示他们感谢
$ QUESTION_TEXT = $ _ POST [“QUESTION_TEXT”];
list($ first_word)= explode('',$ question_text);
$ query =“SELECT c.field_name,t.category_name,d.domain_name FROM category_fields c,taxonomy_category t,taxonomy_domain d WHERE c.category_Id = t.category_Id AND t.domain_Id = d.domain_Id AND c.field_name = “” .mysql_escape_string($ first_word [0])。 “'”;
$ result = mysql_query($ query);
而($行= mysql_fetch_array($结果,MYSQL_ASSOC))
{
回声 “关键字:{$行[ 'c.field_name']}”。 “分类:{$ row ['t.category_name']}”。 “域:{$ row ['d.domain_name']}”; }
?>
此代码易受[SQL注入攻击](http://en.wikipedia.org/wiki/SQL_injection)的影响。请不要直接插入POST数据到查询中 - 做一些转义。您可以尝试检查$ first_word的值是什么,并针对您的数据库手动运行查询。 – 2011-03-14 04:50:11
'print_r'是你的朋友。'print_r($ first_word);'将指出为什么它不起作用。此外,'list($ first_word)= explode('',$ question_text);'将生成的数组的第一个元素提取到'$ first_word'中。 – Dan 2011-03-14 04:52:29