php - 什么会导致表单的“插入”代码仅在 80% 的时间内保存到数据库中?
问题描述
我最近接管的这个避难所的网站有一个插入数据库的表格。但据报道,它只是将部分提交而不是全部保存到数据库中。我在失败的提交之间找不到任何一致的内容(访问者通过电子邮件发送了他们的信息)。
我尝试过的事情和其他注意事项:
- 我认为这可能是一列的字符限制,但我确认它们都是 TEXT 类型,最大提交是 3 个句子。
- 我检查了保留字,没有看到任何被使用
- 表单有时确实保存得很好。估计大约五分之一的失败。
- 我浏览了该网站上的所有其他帖子,都注意到了这个错误,但没有一个被接受的解决方案为我解决了这个问题
- 每次我尝试重新提交其中一个失败的提交时,我都可以重新创建错误,但我也可以使用测试值提交我自己的错误,它可以很好地保存到数据库中。
- 我研究了列拒绝像撇号这样的特殊字符的可能性,但没有得出任何可靠的结果。在 3 个句子长的几个字段之外提交的数据没有什么独特之处。
- 该表单使用下面提到的代码提交到一个 php 文件。它不在表单页面本身上。
这是失败时出现的错误: 添加应用程序时出错:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法
这是我的代码:
$link = mysqli_connect('localhost', 'oursite_main', 'password');
if (!$link)
{
die('Could not connect to database:' .mysql_error());
}
if (!mysqli_select_db($link, 'oursite_application'))
{
$output = 'unable to locate the application database.';
include 'output.html.php';
exit();
}
$age = implode(', ',$_POST['age']);
$sql = "INSERT INTO adoption (name,address,city,phone,email,dog,sex,age,details,setting,home,permission,wkhours,time,family,pets,livestock,ydsize,fencing,livingqtrs,vet,activities,experience,whybc,greatdog, lookingfor,shelter,ifyes,helpfulinfo,status,year) VALUES('$_POST[name]', '$_POST[address]' , '$_POST[city]' , '$_POST[phone]' , '$_POST[email]' ,'$_POST[dog]' , '$_POST[sex]' , '$age' , '$_POST[details]' , '$_POST[setting]' , '$_POST[home]' , '$_POST[permission]' , '$_POST[wkhours]' , '$_POST[time]' , '$_POST[family]' , '$_POST[pets]' , '$_POST[livestock]' , '$_POST[ydsize]' , '$_POST[fencing]' , '$_POST[livingqtrs]' , '$_POST[vet]' , '$_POST[activities]' , '$_POST[experience]' , '$_POST[whybc]' , '$_POST[greatdog]' , '$_POST[lookingfor]' , '$_POST[shelter]' , '$_POST[ifyes]' , '$_POST[helpfulinfo]' , '$_POST[status]', '$_POST[year]')";
解决方案
推荐阅读
- python - 在评估期间使用 map 时,numpy fromiter 是否会创建一个列表?
- python - python timer decorator - 函数对我放入参数的原始数据集生效
- python - 将init方法和@class方法集成在一起?
- python - 在 Python lambda 函数中设置 PyCharm 断点
- javascript - 使用循环nodejs时如何在Selenium中等待响应?
- javascript - 多个 PDF 下载
- machine-learning - python版本的synthpop
- node.js - 使用 Dockerfile 在单个端口中运行 react 和 node
- python - Client.send_message 从排序的 json 数据发送多个嵌入
- sql-server - 尝试从另一个表插入多行数据时出错