gpt4 book ai didi

PHP MYSQL->执行失败: (1048) Column 'title' cannot be null ERROR

转载 作者:行者123 更新时间:2023-11-30 00:31:53 39 4
gpt4 key购买 nike

我今天在编写 HTML/JS/PHP Web 表单时遇到了一个奇怪的错误。

“执行失败:(1048) 列“标题”不能为空”

我的表单的工作方式如下;

提交后,我的 HTML 表单会获取输入的值,并将它们发送到 JavaScript 函数“processIdea()”。然后,该函数检查是否有错误,如果没有发现错误,则将表单发布到 ideaSubmission.php。这段代码的目的是获取发布的值,检查它们是否存在,然后将它们插入到我的 Mysql 数据库中。

这是我的 3 个文件; *请注意,当我进行修复时,有一个字段被禁用 - 我知道这一点:)*

HTML 格式:

<form id="submit_idea" action ="submitIdea.php" method="POST">
<fieldset>
<legend>Idea submission</legend>
<label for="title">Title</label>
<input type="text" name="title"/>
<br>
<label for="brief">Brief</label>
<input type="text" name="brief"/>
<br>
<label for="problem">Problem</label>
<input type="text" name="problem"/>
<br>
<label for="solution">solution</label>
<input type="text" name="solution"/>
<br>
<label for="audience">audience</label>
<input type="text" name="audience"/>
<br>
<label for="prediction">prediction</label>
<input type="text" name="prediction"/>
<br>
<label for="constraints">constraints</label>
<input type="text" name="constraints"/>
<br>
<!--<label for="categories">Please select applicable categories / from the list below</label>
<input type="checkbox" id="categories" name"categories[]" value"App" />&nbsp;App<br />>
<input type="checkbox" name"categories[]" value"business_venture" />&nbsp;Business venture<br />>
<input type="checkbox" name"categories[]" value"home-ware" />&nbsp;Home-ware<br />>
<input type="checkbox" name"categories[]" value"technology" />&nbsp;Technology<br />>
<input type="checkbox" name"categories[]" value"furniture" />&nbsp;Furniture<br />>
<input type="checkbox" name"categories[]" value"art" />&nbsp;Art<br />>
<input type="checkbox" name"categories[]" value"jewellery" />&nbsp;Jewellery<br />>
<input type="checkbox" name"categories[]" value"fashion" />&nbsp;Clothing / Fashion<br />>
<input type="checkbox" name"categories[]" value"culinary" />&nbsp;Culinary<br />>
<input type="checkbox" name"categories[]" value"misc" />&nbsp;Misc<br /> -->
<button type="submit" onclick="processIdea();">Submit</button>
<div style="clear:both;"></div>
</fieldset>
</form>

JavaScript 功能:

$("document").ready(function() {
$("#submit_idea").submit(function() {
processIdea();
return false;
});
});

function processIdea() {

var errors = '';

// Validate title
var title = $("#submit_idea [name='title']").val();
if (!title) {
errors += ' - Please enter a title\n';
}
// Validate brief
var brief = $("#submit_idea [name='brief']").val();
if (!brief) {
errors += ' - Please enter a short idea brief\n';
}
// Validate Problem
var problem = $("#submit_idea [name='problem']").val();
if (!problem) {
errors += ' - Please discribe the problem you want to solve\n';
}
//Validate Solution
var solution = $("#submit_idea [name='solution']").val();
if (!solution) {
errors += ' - Please discribe your solution to the above problem\n';
}
//Validate Audience
var audience = $("#submit_idea [name='audience']").val();
if (!audience) {
errors += ' - Please discribe the audience your solution targets\n';
}
//Validate Prediction
var prediction = $("#submit_idea [name='prediction']").val();
if (!prediction) {
errors += ' - Please discribe the prediction you want to solve\n';
}
//Validate constraints
var constraints = $("#submit_idea [name='constraints']").val();
if (!constraints) {
errors += ' - Please discribe the constraints of your solution\n';
}
//Validate Categories
// var categories = $("#submit_idea [name='categories[]']:checked").length;
//if (!categories) {
// errors += ' - Please select the category your solution falls within\n';
//}

if (errors){
errors = 'The following errors occurred:\n' + errors;
alert(errors);
return false;
} else {

// Submit our form via Ajax and then reset the form
$("#submit_idea").ajaxSubmit({success:showResult, type: 'post'});
return false;
}
}

function showResult(data) {
if (data == 'save_failed') {
alert('Form save failed, please contact your administrator');
return false;
} else {
$("#submit_idea").clearForm().clearFields().resetForm();
alert('Form save success');
return false;
}
}

PHP:

<?php
//Starts session
include_once '/includes/db_connect.php';
include_once '/includes/functions.php';
sec_session_start();

if(login_check($mysqli) == true) {

// Retrieve form data
if (empty($_POST)){
echo "empty!"; }

if(isset($_POST['submit_idea'])){
if(isset($_POST['title'])){ $title = $_POST['title']; }
if(isset($_POST['brief'])){ $brief = $_POST['brief']; }
if(isset($_POST['problem'])){ $problem = $_POST['problem']; }
if(isset($_POST['solution'])){ $solution = $_POST['solution']; }
if(isset($_POST['audience'])){ $audience = $_POST['audience']; }
if(isset($_POST['prediction'])){ $prediction = $_POST['prediction']; }
if(isset($_POST['constraints'])){ $constraints = $_POST['constraints']; }
// if(isset($_POST['categories'])){ $categories = $_POST['categories']; }


if (!$title || !$brief || !$problem || !$solution || !$audience || !$prediction || !$constraints) {
echo "save_failed";
return;
}
//


//Convert categories array to a serialized string
// $categories_list = serialize($categories);

//if (!$link) {
// echo "save_failed";
// return;
//}
//mysql_select_db($db['idea']);

// Clean variables before performing insert
$clean_title = $mysqli->real_escape_string($title);
$clean_brief = $mysqli->real_escape_string($brief);
$clean_problem = $mysqli->real_escape_string($problem);
$clean_solution = $mysqli->real_escape_string($solution);
$clean_audience = $mysqli->real_escape_string($audience);
$clean_prediction = $mysqli->real_escape_string($prediction);
$clean_constraints = $mysqli->real_escape_string($constraints);
// $clean_categories_list = mysql_real_escape_string($categories_list);
}
else {
// Perform insert
$now = time();

$user_id = $_SESSION['user_id'];

if(!$stmt = $mysqli->prepare("INSERT INTO idea_thread (user_id, time, title, Brief, problem, solution, audience, prediction, constraints) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)")) {echo "Prepare failed!";}

if(!$stmt->bind_param('issssssss', $user_id, $now, $clean_title, $clean_brief, $clean_problem, $clean_solution, $clean_audience, $clean_prediction, $clean_constraints)){echo "Binding parameters failed:";}

if(!$stmt->execute()){echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;}

// if (@mysql_query($sql, $link)) {
echo "success";
}
// return;
//} else {
// echo "save_failed";
// return;
//}
} else {
echo "How did you get here? Please log in first!";
header("Location: ../signup.php");
exit;
}
?>

感谢所有帮助,谢谢!

编辑:ajaxSubmit是一个jquery表单插件,源自于此;

http://malsup.github.com/jquery.form.js

最佳答案

正如您在 php 代码和 var_dump($_POST) 的结果中看到的,submit_idea 从未提交,因此,它永远不会进入 if is_set($_POST['submit_idea']) 将其他发布的值设置为适当的变量。
在表单中提交该值或在 php 中更改条件

关于PHP MYSQL->执行失败: (1048) Column 'title' cannot be null ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444873/

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