我已经创建了一个查询,可以在我的数据库中插入一些特定值:
function upload_text($text, $categories) {
$idea = mysql_real_escape_string(htmlentities($text));
$categories = mysql_real_escape_string(htmlentities($categories));
mysql_query("INSERT INTO `textfiles` VALUES ('', '".$_SESSION['user_id']."', '$text', '$categories', UNIX_TIMESTAMP() )"); }
通过查询提交的信息是由用户输入的PHP / HTML网站收集的,其中包含以下代码(缩短):
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
<font size='2' face='arial'>Your text:
<textarea cols="150" rows="5" name="text" maxlenght='500'></textarea>
<font size='2' face='arial'>Categories:
<textarea cols="150" rows="1" name="categories" maxlenght='100'></textarea>
<input type='submit' name='sub' value='Submit'> </form>
if (isset($_POST['sub'])) {
$text = $_POST['text'];
$categories = $_POST['categories'];
$upload = upload_text($text, $categories);
exit();
}
当我通过localhost测试我的网站并提交文本时,正如我希望用户所做的那样,实际上没有文本传输到我的数据库。它仍然是空的。
有人请帮助我了解我的代码中出现的错误,或者我正在做的错误,因为我似乎无法找到它们。
谢谢。
答案 0 :(得分:0)
请将函数内容放在大括号内的代码
中function upload_text($text, $categories)
{
$idea = mysql_real_escape_string(htmlentities($text));
$categories = mysql_real_escape_string(htmlentities($categories));
mysql_query("INSERT INTO `textfiles` VALUES ('', '".$_SESSION['user_id']."', '$text', '$categories', UNIX_TIMESTAMP() )");
}
你也没有关闭大括号:
if (isset($_POST['sub'])) {
答案 1 :(得分:0)
该函数需要用花括号括起来:
function upload_text($text, $categories) {
$idea = mysql_real_escape_string(htmlentities($text));
$categories = mysql_real_escape_string(htmlentities($categories));
$SQL = "INSERT INTO `textfiles`
VALUES ('',
'".$_SESSION['user_id']."',
'$text',
'$categories',
UNIX_TIMESTAMP()
)";
echo $SQL;
mysql_query($SQL);
}
您必须已拥有与数据库服务器的活动连接才能使其正常工作。
在查询运行之前查看SQL的样子非常有用所以使用echo
之前$SQL
mysql_query()
之前的代码在它被送到之前ini_set('display_errors', true);
ini_set('error_reporting', E_ALL);
。
作为调试的第一步,我建议您在脚本顶部启用错误记录:
{{1}}
答案 2 :(得分:0)
替换它:
mysql_query("INSERT INTO `textfiles` VALUES ('', '".$_SESSION['user_id']."', '$text', '$categories', UNIX_TIMESTAMP() )"); }
用这个:
mysql_query("INSERT INTO `textfiles` VALUES ('', '".$_SESSION['user_id']."', '$text', '$categories', UNIX_TIMESTAMP() )") or die(mysql_error()); }
检测错误。然后调试..