数据未添加到SQL,无错误

拉格斯

我对这段代码失去了主意。它似乎起作用。没有错误,但是没有被添加到mysql数据库中。我检查了数据库连接是否正常。

希望您能提供帮助。

报名表

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1">
        <title>Create a Company</title>
        <link rel="stylesheet" type="text/css" href="/PITAKER/V2/css.css"/>

</head>
<body>
    <h2 class="header"> Create a Company </h2>
    <form action="processcompany.php" method="post">

        <input class="entry" placeholder="Company Name" name="companyname" type="text" required="required"><br>
        <input class="entry" placeholder="GST/VAT/ABN/TAX No" name="taxno" type="text" required="required"><br>
        <input class="entry" placeholder="Address" name="address1" type="text" value=""><br>
        <input class="entry" placeholder="Suburb/County" name="suburb" type="text" value=""><br>
        <input class="entry" placeholder="State" name="state" type="text" value=""><br>
        <input class="entry" placeholder="Post/Zip Code" name="postcode" type="text" value=""><br>
    <input class="entry" placeholder="Country" name="country" type="text" value=""><br>
    <input class="entry" placeholder="Primary Contact" name="primarycontact" type="text" value=""><br>
  <input class="entry" placeholder="Primary Email" name="primaryemail" type="text" value=""><br>
  <input class="entry" placeholder="Subscription Type" name="subscriptiontype" type="text" value=""><br>
  <input class="entry" placeholder="Subscription Status" name="subscriptionstatus" type="text" value=""><br>
  <input class="entry" placeholder="Subscription End Date" name="subscriptionenddate" type="text" value=""><br>

        <input class="button" type="submit">

    </form>
</body>

PHP脚本添加到MySQL

<?php
include 'db.php';

$companyname=$_POST['companyname'];
$taxno=$_POST['taxno'];
$address1=$_POST['address1'];
$suburb=$_POST['suburb'];
$state=$_POST['state'];
$postcode=$_POST['postcode'];
$country=$_POST['country'];
$primarycontact=$_POST['primarycontact'];
$primaryemail=$_POST['primaryemail'];
$subscriptiontype=$_POST['subscriptiontype'];
$subscriptionstatus=$_POST['subscriptionstatus'];
$subscriptionenddate=$_POST['subscriptionenddate'];


$sql = "INSERT INTO `companies` 
                ( `companyid` , `accountno` , `companyname` , 
                `taxno` , `address1` , `address2` , `suburb` , 
                `state` , `postcode` , `country` , `primarycontact` , 
                `primaryemail` , `subscriptiontype` , `subscriptionstatus` , 
                `subscriptionenddate` , `datecreated` ) 
        VALUES ( NULL , 
                NULL , 
            '".mysqli_real_escape_string($conn,$_POST['companyname'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['taxno'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['address1'])."' ,
             NULL , 
            '".mysqli_real_escape_string($conn,$_POST['suburb'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['state'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['postcode'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['country'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['primarycontact'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['primaryemail'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['subscriptiontype'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['subscriptionstatus'])."' , 
            '".mysqli_real_escape_string($conn,$_POST['subscriptionenddate'])."' )";

mysqli_query($conn, $sql);

mysqli_close($conn);
?>

我的数据库文件

<?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'a34511pidata';

$conn = mysqli_connect($dbhost,$dbuser,$dbpass);
mysqli_select_db($conn, $db);

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

echo "Database Connected Ok..";

?>
里格斯愚蠢

如果使代码可读,您将发现它更易于调试。

同样,在使用时,mysqli_您需要在发出查询后检查错误。

您还应该使用准备好的和参数化的查询来保护自己免受SQL Injection攻击

您的实际错误是您列出了16列,而VALUE列表中只有15个变量。

我用NOW()填充丢失的列,我认为那将是datecreated所需要的

<?php
include 'db.php';

$sql = "INSERT INTO `companies` 
                ( `companyid`, `accountno`, `companyname` , 
                `taxno` , `address1`, `address2`, `suburb` , 
                `state` , `postcode`, `country`, `primarycontact` , 
                `primaryemail`, `subscriptiontype` , 
                `subscriptionstatus`, `subscriptionenddate`,    
                `datecreated` ) 
        VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";

$stmt = $conn->prepare($sql);
if ( ! $stmt ) {
    echo $stmt->error;
    exit;
}

// I dont know your data type so you may need to check the data types I used here
$stmt->bind_param('iisssssssssssss',
                    NULL, NULL, 
                    $_POST['companyname'],
                    $_POST['taxno'],
                    $_POST['address1'],
                    NULL , 
                    $_POST['suburb'],
                    $_POST['state'], 
                    $_POST['postcode'], 
                    $_POST['country'], 
                    $_POST['primarycontact'], 
                    $_POST['primaryemail'], 
                    $_POST['subscriptiontype'], 
                    $_POST['subscriptionstatus'], 
                    $_POST['subscriptionenddate']
                );



$stmt->execute();
if ( ! $stmt ) {
    echo $stmt->error;
    exit;
}

mysqli_close($conn);
?>

我不得不说,您将NULL作为第二个参数(即列)传递给我,这有点奇怪accountno这很可能是您的下一个错误,但这取决于如何在数据库中定义该列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据未添加到数据库SQLITE

来自分类Dev

PDO数据未插入数据库无错误

来自分类Dev

信息未添加到实时数据库?

来自分类Dev

派生列未添加到数据库

来自分类Dev

路径文件图片未添加到数据库

来自分类Dev

添加到文件时,数据未显示在 recyclerview 中

来自分类Dev

SQLite 项目未添加到数据库中

来自分类Dev

未填充数据绑定的DropDownList(无错误)

来自分类Dev

未填充数据绑定的DropDownList(无错误)

来自分类Dev

将数据添加到行时,SQL自动验证数据

来自分类Dev

将数据添加到@include会引发错误

来自分类Dev

SQL更新查询以将Excel数据添加到Access

来自分类Dev

将不存在的数据添加到SQL查询

来自分类Dev

如何将数据添加到SQL Server

来自分类Dev

将不存在的数据添加到SQL查询

来自分类Dev

自动将数据从 CSV 添加到 SQL Server

来自分类Dev

从getJSON添加到数据

来自分类Dev

使用实体框架7添加新迁移时,表未添加到数据库

来自分类Dev

使用实体框架7添加新迁移时,表未添加到数据库

来自分类Dev

用户数据未添加到数据库中

来自分类Dev

Symfony登录应用程序-示例数据未添加到数据库

来自分类Dev

数据未添加到php,pdo中的数据库中

来自分类Dev

动画未添加到JFrame

来自分类Dev

属性未添加到JS对象

来自分类Dev

JPanels未添加到JTabbedPane

来自分类Dev

视图未添加到UITableViewCell

来自分类Dev

python append未添加到列表

来自分类Dev

方法未添加到methodDict

来自分类Dev

JPanels未添加到JTabbedPane