【问题标题】:PHP MySQL Insert HelpPHP MySQL 插入帮助
【发布时间】:2010-06-17 09:26:00
【问题描述】:

嘿,我正在尝试制作一个将一些字符串插入 MySQL 表的页面,但它似乎对我不起作用。这是我目前正在使用的代码。

<?php
mysql_connect($address, $username, $password);
@mysql_select_db($database) or die("Unable to select database");
$query = "insert INTO user (movieid, moviename)('" . $id . "','" . $name . "') or die(mysql_error())"; 
mysql_query($query);
mysql_close();
?>

我哪里错了?

【问题讨论】:

    标签: php mysql insert


    【解决方案1】:

    根本不应该有die(),而是trigger_error()
    并且必须为查询正确格式化数据:

    <?php
    mysql_connect($address, $username, $password);
    mysql_select_db($database);
    
    $id    = mysql_real_escape_string($id);
    $name  = mysql_real_escape_string($name);
    
    $query = "insert INTO user (movieid, moviename) VALUES ('$id','$name')"; 
    mysql_query($query) or trigger_error((mysql_error().$query);
    ?>
    

    总是以这种方式做任何 mysql 工作

    【讨论】:

      【解决方案2】:
      • 你把or die放错地方了。
      • 您省略了 VALUES 关键字。请参阅INSERT 的文档。

      查询应该是这样的:

      "INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')";
      

      or die 应该在调用 mysql_query 之后出现。

      您可能还存在 SQL 注入漏洞。考虑使用mysql_real_escape_string

      【讨论】:

        【解决方案3】:

        像这样:

        $query = "INSERT INTO user (movieid, moviename) VALUES ('" . $id . "','" . $name . "')";  
        mysql_query($query) or die(mysql_error()); 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-01-04
          • 2011-01-16
          • 2011-10-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-02
          • 1970-01-01
          相关资源
          最近更新 更多