gpt4 book ai didi

php - MYSQL INSERT INTO 不插入数据或抛出错误

转载 作者:可可西里 更新时间:2023-11-01 07:55:52 28 4
gpt4 key购买 nike

这里我有点头疼。单击提交按钮后,我的代码没有将数据插入到 customer_upload 表中。之后它确实成功地将我重定向到我的代码中显示的成功消息。

我检查过提交的数据是否正在发布,我很确定脚本在 mysql_query 上挂起。我通过在我的 php 代码中注释掉 mysql_query 和 header 重定向,并回显变量 $key$firstname$lastname, and $company 点击提交。一切看起来都很好..

这是我的数据库的样子:

Database

这是我的代码(我知道 MySQL 已被弃用!我会尽快切换!):

<?php 
header('Expires: Sun, 01 Jan 2014 00:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');

include('../includes/connection.php');
$thisPage = "File Transfers";

$keyrand = rand(100000000, 999999999);

if(isset($_POST['submit'])) {
$key = mysql_real_escape_string($_POST['key']);
$firstname = mysql_real_escape_string($_POST['firstname']);
$lastname = mysql_real_escape_string($_POST['lastname']);
$company = mysql_real_escape_string($_POST['company']);
$date= date("F j, Y");

mysql_query("INSERT INTO customer_uploads (key, firstname, lastname, company, date) VALUES ('$key', '$firstname', '$lastname', '$company', '$date')");

header("LOCATION: /filetransfers.php?message=success");

}
?>

HTML 格式:

                                <form method="post">
<div class="row">
<div class="col-md-5">
<div class="form-group">
<label>Key</label>
<input name="keyvisible" type="number" class="form-control" placeholder="<?php echo $keyrand ?>" disabled="disabled">
<input name="key" type="hidden" class="form-control" value="<?php echo $keyrand; ?>">
</div>
</div>
</div>


<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>First Name</label>
<input name="firstname" id="category" type="text" class="form-control" placeholder="First Name">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Last Name</label>
<input name="lastname" type="text" class="form-control" placeholder="Last Name"?>
</div>
</div>
</div>

<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>Company</label>
<input name="company" type="text" class="form-control" placeholder="Company"?>
</div>
</div>
</div>

<button name="submit" type="submit" id="NewCustomerUploadSubmit" class="btn btn-info btn-fill pull-right">Add Upload Key</button>
<div class="clearfix"></div>
</form>

对我做错了什么有什么想法吗?

最佳答案

key 在 MySQL 中是一个保留字,如果你打算继续使用它,它必须封装在 ticks 中:

mysql_query("INSERT INTO customer_uploads (`key`, firstname, lastname, company, date) 
VALUES ('$key', '$firstname', '$lastname', '$company', '$date')");

引用:

你在这里也对 SQL 注入(inject)持开放态度,所以使用准备好的语句

考虑转移到 mysqli_ 或 PDO API(使用准备好的语句),因为 mysql_ API 已弃用并从 PHP 7 中删除。


"not inserting data or throwing errors"

那是因为您需要检查查询中的错误。

关于在查询中使用 mysql_error() 的引用:

关于php - MYSQL INSERT INTO 不插入数据或抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638180/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com