当前位置: 首页 > 知识库问答 >
问题:

MySQL查询不插入数据库?

苍轶
2023-03-14

我试图使用下面的MySQL语句将表单中发布的数据插入我的数据库,但它产生了我的错误'ooops!*****'

我知道有一个连接,因为在我插入任何东西之前,我测试用户的电子邮件地址,看看它是否已经存在,如果存在,它会重定向用户登录正在插入表单数据,但它不是。*有人能告诉我哪里出错了吗?我已经确保我拼写正确的表名和一切,并且100%确定我已经正确地发布了所有的表单数据。

    <?php 
    session_start();
    include("config.php");
    include("verify.php");
    //retrieve our data from POST
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $email = $_POST['email'];
    $email2 = $_POST['email2'];
    $contactnum = $_POST['contactnum'];
    $mobnum = $_POST['mobnum'];
    $postcode = $_POST['postcode'];
    $addres1 = $_POST['address1'];
    $addres2 = $_POST['address2'];
    $town = $_POST['town'];  
    $compname = $_POST['compname'];
    $compreg = $_POST['compreg'];
    $verify = $_POST['verify'];
    $verification = $_POST['verification'];

    $firstname = stripslashes($firstname);
    $firstname = mysql_real_escape_string($firstname);
    $lastname = stripslashes($lastname);
    $lastname = mysql_real_escape_string($lastname);
    $email = stripslashes($email);
    $email = mysql_real_escape_string($email);
    $email2 = stripslashes($email2);
    $email2 = mysql_real_escape_string($email2);
    $contactnum = stripslashes($contactnum);
    $contactnum = mysql_real_escape_string($contactnum);
    $mobnum = stripslashes($mobnum);
    $mobnum = mysql_real_escape_string($mobnum);
    $postcode = stripslashes($postcode);
    $postcode = mysql_real_escape_string($postcode);
    $addres1 = stripslashes($addres1);
    $addres1 = mysql_real_escape_string($addres1);
    $addres2 = stripslashes($addres2);
    $addres2 = mysql_real_escape_string($addres2);
    $town = stripslashes($town);
    $town = mysql_real_escape_string($town);
    $compname = stripslashes($compname);
    $compname = mysql_real_escape_string($compname);
    $compreg = stripslashes($compreg);
    $compreg = mysql_real_escape_string($compreg);
    $verify = stripslashes($verify);
    $verify = mysql_real_escape_string($verify);
    $verification = stripslashes($verification);
    $verification = mysql_real_escape_string($verification);

    $query = sprintf("SELECT * FROM supplier_registration WHERE supplier_email='%s'", mysql_real_escape_string($email2));
    $result = mysql_query($query);
    if(mysql_num_rows($result) > 0) {
    $_SESSION['message2'] = '<div id="message_box3"><div class="boxclose" id="boxclose" onclick="this.parentNode.parentNode.removeChild(this.parentNode);"></div><h23>Found You!</h23><p>It appears that a user with that email address is already registered. Please Login below or click on our support section.</p> </div>';
     header('Location: ../login.php'); 
    } else {

    $sql = "INSERT INTO supplier_registration (id, first_name, last_name, supplier_email, contact_number, mobile_number, postcode, address1, address2, town, company_name, company_reg, date) VALUES (NULL, '$firstname','$lastname','$email2', '$contactnum', '$mobnum', '$postcode', NULL, NULL, NULL, '$compname', '$compreg', now())";
    $result2 = mysql_query($sql);

    if(mysql_num_rows($result2) > 0) {
    $_SESSION['message2'] = '<div id="message_box3"><div class="boxclose" id="boxclose" onclick="this.parentNode.parentNode.removeChild(this.parentNode);"></div><h23>Thanks for Registering!</h23><p>You have successfully registered. We have sent you a verification email.</p> </div>';
    header('Location: ../index.php'); 

    }else{
     $_SESSION['message2'] = '<div id="message_box3"><div class="boxclose" id="boxclose" onclick="this.parentNode.parentNode.removeChild(this.parentNode);"></div><h23>Oooops!</h23><p>It appears there was an error whilst attempting to register your details. Please try again later.</p> </div>';
     header('Location: ' . $_SERVER['HTTP_REFERER']); 

    } } 

    ?>

共有3个答案

和季
2023-03-14

这是因为查询中的date是保留关键字。因此,您必须像这样输入[][date]

翁建弼
2023-03-14

试试这个。。

  $sql = "INSERT INTO supplier_registration (id, first_name, last_name, supplier_email, contact_number, mobile_number, postcode, address1, address2, town, company_name, company_reg, date) VALUES ('', '$firstname','$lastname','$email2', '$contactnum', '$mobnum', '$postcode', '', '', '', '$compname', '$compreg', now())";
  $result2 = mysql_query($sql);
童琪
2023-03-14

该错误可能与表中字段的数据类型有关。

在您的代码中,没有字符串到数字的转换。

如果将表定义和确切的SQL错误添加到问题中,则可以提供更多帮助。

 类似资料:
  • 问题内容: 此查询有什么问题: 它不带子句就可以工作。我似乎忘记了我的SQL。 问题答案: MySQL INSERT语法不支持WHERE子句,因此您的查询将失败。假设您的列是唯一键或主键: 如果您要插入ID为1的新行,则应使用: 如果您尝试更改ID为1的现有行的weight / desiredWeight值,则应使用: 如果需要,还可以使用INSERT .. ON DUPLICATE KEY语法,

  • 主要内容:基本语法,向表中的全部字段添加值,向表中指定字段添加值,使用 INSERT INTO…FROM 语句复制表数据数据库与表创建成功以后,需要向数据库的表中插入数据。在 MySQL 中可以使用 INSERT 语句向数据库已有的表中插入一行或者多行元组数据。 基本语法 INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句。 1) INSERT…VALUES语句 INSERT VALUES 的语法格式为: INSERT INTO <表名> [

  • 问题内容: 此查询出了什么问题: 它在没有该子句的情况下起作用。我似乎忘记了我的SQL。 问题答案: MySQL INSERT语法不支持WHERE子句,因此您的查询将失败。假设您的列是唯一键或主键: 如果您要插入ID为1的新行,则应使用: 如果您尝试更改ID为1的现有行的weight / desiredWeight值,则应使用: 如果需要,还可以使用INSERT .. ON DUPLICATE K

  • 主要内容:查询表中所有字段,查询表中指定的字段在MySQL 中,可以使用 SELECT 语句来查询数据。查询数据是指从数据库中根据需求,使用不同的查询方式来获取不同的数据,是使用频率最高、最重要的操作。 SELECT 的语法格式如下: 其中,各条子句的含义如下: 包含星号通配符的字段列表,表示所要查询字段的名称。 ,表 1 和表 2 表示查询数据的来源,可以是单个或多个。 是可选项,如果选择该项,将限定查询数据必须满足该查询条件。 ,该子句告

  • 问题内容: 我是mySQL:s联合函数的新手,至少在使用它们进行插入时。根据网上发现的示例,我得到了以下工作: 好的,对此并不奇怪。但是,当我想向数据库中插入与Select的完成逻辑无关的第三个值时会发生什么? 喜欢 : 那怎么办? 问题答案: 您也可以“选择”文字值: 因此,您也可以在和s中使用它。

  • 主要内容:使用 MySQLi 和 PDO 向 MySQL 插入数据,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加数据。 以下为一些语法规则: PHP 中 SQL 查询语句必须使用引号 在 SQL 查询语句中的字符串值必须加引号 数值的值不需要引号 NULL 值不需要引号 INSERT INTO 语句通常用于向 MySQL 表添加新的记录: 学习更多关于