gpt4 book ai didi

php - 为什么我不能通过我的 php 脚本 "INSERT INTO"我的表?

转载 作者:行者123 更新时间:2023-11-29 11:58:25 25 4
gpt4 key购买 nike

我的 wampserver 上有两个不同的目录,此代码适用于其中一个,但不适用于另一个,我不明白为什么。

PHP

<?php

error_reporting(E_ALL & ~E_NOTICE);
session_start();

$msg = "";
if (!isset($_SESSION['username'])) {

header('Location: login.php');
die();

}

if(isset($_SESSION['username'])) {

if (isset($_POST['submit']))
{
$className = $_POST['className'];
$classColour = $_POST['classColour'];

include_once("connection.php");
$sql = "INSERT INTO class (className, classColour) VALUE ('$className', '$classColour')";
mysqli_query($dbConnection, $sql);

$msg = "New class '" . $className . "' added.";
} else {
$msg = "No class added yet.";
}


}


?>

HTML

<form method="post" action="add_class.php">
<input type="text" name="className" placeholder="Class" />
<input type="text" name="classColour" placeholder="Colour" />
<div><input type="submit" name="submit" value="Add" class="btn butn-orange"/></div>
</form>

这是在文件“add_class.php”中,我尝试了很多不同的方法,在 $sql 中的表列周围加上单引号(`),但它仍然不起作用。我尝试调整表中的名称,其中有下划线,但现在有驼峰命名法,仍然没有任何区别。该代码在另一个目录中完美运行,有人可以告诉我为什么会发生这种情况并可能提出解决方案吗?预先感谢您。

P.S 我的连接有效,因为我通过 phpmyadmin 插入了一个新行,并循环通过数据库打印每个现有的“className”并且它有效,我只是无法从 php 脚本插入。

连接.php

<?php

$dbConnection = mysqli_connect("localhost","root", "", "main");

if(mysqli_connect_errno())
{
echo "Failed to connect" . mysqli_connect_error();
}

?>

最佳答案

当询问您是否已分配 session 时,您回答我在用户登录时分配了此 session 。接下来,我们假设分配的 session 如下所示:

<?php

error_reporting(E_ALL & ~E_NOTICE);
session_start();
$_SESSION['username'] = "HawqasKaPujaari";

$msg = "";

// this fails, as session is already set.
if (!isset($_SESSION['username'])) {

header('Location: login.php');
die();

}

if(isset($_SESSION['username'])) {

if (isset($_POST['submit']))
{
$className = $_POST['className'];
$classColour = $_POST['classColour'];

include_once("connection.php");
$sql = "INSERT INTO class (className, classColour) VALUES ('$className', '$classColour')";
mysqli_query($dbConnection, $sql);

echo $msg = "New class '" . $className . "' added.";
} else {
$msg = "No class added yet.";
}


}


?>

<form method="post" action="">
<input type="text" name="className" placeholder="Class" />
<input type="text" name="classColour" placeholder="Colour" />
<div><input type="submit" name="submit" value="Add" class="btn butn-orange"/></div>
</form>

Note: The only changes I made were to change the action="" empty and changed VALUE to VALUES in your query.

连接.php:

<?php

$dbConnection = mysqli_connect("localhost","root", "", "main");

if(mysqli_connect_errno())
{
echo "Failed to connect" . mysqli_connect_error();
}

?>

由于上面发布的代码似乎是正确的并且困扰着我,所以我想通过创建数据库/表来自己测试它,它似乎工作正常,没有任何错误。我已发布相关图片如下:

enter image description here

enter image description here

enter image description here

Note: Make sure you have the connection.php file in the same directory as the add_class.php.

关于php - 为什么我不能通过我的 php 脚本 "INSERT INTO"我的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32805540/

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