php – MYSQL INSERT INTO不插入数据或抛出错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – MYSQL INSERT INTO不插入数据或抛出错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2997字,纯文字阅读大概需要5分钟。
内容图文
我在这里有个头疼.单击提交按钮后,我的代码未将数据插入customer_upload表.它确实成功地将我重定向到成功消息,如我的代码所示.
我已经检查过提交的数据是否正在发布,我很确定脚本会挂起mysql_query.我通过在我的PHP代码中注释掉mysql_query和头重定向来检查这个,并在点击提交时回显变量$key,$firstname,$lastname和$company.一切都很好……
这是我的数据库的样子:
这是我的代码(我知道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>
关于我做错了什么的任何想法?
解决方法:
MySQL中的密钥是一个保留字,如果您计划仍在使用它,则必须将其封装在刻度中:
mysql_query("INSERT INTO customer_uploads (`key`, firstname, lastname, company, date)
VALUES ('$key', '$firstname', '$lastname', '$company', '$date')");
参考:
> https://dev.mysql.com/doc/refman/5.5/en/keywords.html
您也可以在这里打开SQL注入,因此请使用预准备语句
> https://en.wikipedia.org/wiki/Prepared_statement
> mysql_real_escape_string()仍然倾向于注入
>咨询:SQL injection that gets around mysql_real_escape_string()就此而言.
考虑转移到mysqli_或PDO API(使用预准备语句),因为mysql_ API已被弃用并从PHP 7中删除.
“not inserting data or throwing errors”
那是因为你需要检查查询的错误.
在查询上使用mysql_error()的参考:
> http://php.net/manual/en/function.mysql-error.php
内容总结
以上是互联网集市为您收集整理的php – MYSQL INSERT INTO不插入数据或抛出错误全部内容,希望文章能够帮你解决php – MYSQL INSERT INTO不插入数据或抛出错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。