2012-02-01 119 views
0

我试图做一个简单的MySQL INSERT查询,但它似乎没有工作...我进入它直接在phpMyAdmin和它的作品,但不是在PHP ...MySQL的INSERT查询不起作用

有我的代码:

<?php 
$id = rand(0000,9999); 
$user_id = mysql_real_escape_string($_POST['user_id']); 
$content = mysql_real_escape_string($_POST['content']); 
$blog_id = mysql_real_escape_string($_POST['blog_id']); 
$moderated = 1; 
$date = date("Y\-m\-d"); 
$time = date("H\:i\:s"); 

if ($user_id != "" && $content != "" && $blog_id != "") 
{ 
    include('php/connect_db.php'); 
    mysql_query("INSERT INTO `comments` (`id`,`user_id`,`content`,`blog_id`,`moderated`,`date`,`time`) VALUES ('".$id."','".$user_id."','".$content."','".$blog_id."','".$moderated."','".$date."','".$time."')"); 
    header('Location: blog.php?id='.$blog_id.'#comments'); 
} 
else 
{ 
    header('Location: blog.php?id='.$blog_id.'&error#comments'); 
} 
?> 

它不工作,但我不知道为什么......

connect_db.php

<?php 
$con = mysql_connect($db_host, $db_user, $db_pass); 
if (!$con) 
{ 
    die('Could not connect to database: ' . mysql_error()); 
} 

mysql_select_db($db_name, $con); 
?> 
+4

你会得到什么错误信息?请始终发布相关错误。 – 2012-02-01 21:51:35

+0

我没有收到任何错误信息...! – 2012-02-01 21:51:58

+0

所有的数据类型是否都是字符串,或者是user_id数字? – 2012-02-01 21:52:08

回答

0

我不包括config.cms.php包含连接信息到数据库。失败!

现在它工作的很棒!

+0

哈哈,是的,这总是一件好事;)好吧,正如Wrikken发布的那样 - 使用mysql_error总是一个好主意,正如Michael发布的那样 - 请记住在你的帖子中包含错误消息:)这将使得这项工作帮助我们时更容易;) – 2012-02-01 22:04:40

-2

我注意到你使用的是字符'而不是字符'。

这是抛出PHP关闭?

+1

它不是“而不是”,它是MySQL标识符引用。 – 2012-02-01 21:59:12

+1

''的用法就在这里...它用来逃避表和列的名称 – klaustopher 2012-02-01 22:01:20

+0

你每天都会学到新的东西。多么羞辱!谢谢(你的)信息。 – gibbotronic 2012-02-01 22:12:28