写入数据库时​​的问题

时间:2011-12-19 22:41:57

标签: php mysql

在使用我之前提到过的脚本时,我无法写入我的数据库。

<?php
include("db.php");

if($_SERVER["REQUEST_METHOD"] == "POST")
{
    // Data sent from form, then posted to  "admin" table in database
    $name = mysql_real_escape_string($_POST['name']); 
    $description = mysql_real_escape_string($_POST['description']); 
    $author = mysql_real_escape_string($_POST['author']);
    $image = mysql_real_escape_string($_POST['image']);
    $category = mysql_real_escape_string($_POST['category']);
    $sql = "INSERT INTO admin(name,description,author,image,category) VALUES('$name','$description','$author','$image','$category');";
    $result = mysql_query($sql);
    header("Location: video.php?file=' . $filename . '");
}
?>  

这是我的SQL:

CREATE TABLE admin
(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) UNIQUE,
    description VARCHAR(50) UNIQUE,
    author VARCHAR(50) UNIQUE,
    image VARCHAR(50) UNIQUE,
    category VARCHAR(50) UNIQUE 
);

所有内容都通过HTML表单通过POST提交。我不太确定我做错了什么,所以我想知道你们的想法。有什么想法吗?

3 个答案:

答案 0 :(得分:0)

$result = mysql_query($sql)无效(未指定连接)。

需要$result = mysql_query($sql, [CONNECTION]);

可能还有其他问题,但这是显而易见的问题。

答案 1 :(得分:0)

请按照以下步骤操作:

  1. 打开MySQL连接(如果未在代码段中省略)
  2. 使用var_dump($sql)
  3. 检查您的MySQL语句
  4. 检查mysql_query()的返回值,如果INSERT语句成功,则应为true
  5. 检查INSERT语句影响的行数:mysql_affected_rows()
  6. 注意: 我很确定您的INSERT语句失败,因为所有列都定义为UNIQUE 。只要您已经有一个同名作者,该声明就会失败!

答案 2 :(得分:-1)

$auhtor=mysql_real_escape_string($_POST['author']);

作者变量拼写错误。