Php 我能';t使用准备好的语句将数据输入到我的表中

Php 我能';t使用准备好的语句将数据输入到我的表中,php,mysql,ajax,Php,Mysql,Ajax,我无法使用以下脚本将数据输入MySQL表: <?php ini_set('display_errors', 'On'); error_reporting(E_ALL); session_start(); include '../scripts/test_ses.php'; include 'connection.php'; $date = date("Y-m-d"); /* Set our params */ $id = $_POST['id']; $status = $_POST[

我无法使用以下脚本将数据输入MySQL表:

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
session_start();
include '../scripts/test_ses.php';
include 'connection.php';
$date = date("Y-m-d");   
/* Set our params */
$id = $_POST['id'];
$status = $_POST['status'];
$active = 1;
$sql = "INSERT INTO TBL_Holiday (Status, Active, DateOfChange) VALUES (?, ?, ?) WHERE idRequest =$id";

$stmt = $conn->prepare($sql);

/* Bind our params */
$stmt->bind_param('iisi', $status, $active, $date, $id);

/* Execute the prepared Statement */
$stmt->execute();

/* Close the statement */
$stmt->close();
?>  


变量$id,$status的数据是由表单设置的。有没有办法通过ajax在表单页面上发出警告来显示脚本的php错误

删除用于更新或删除行的
$id
,在您的情况下,在查询下方插入use

$sql = "INSERT INTO TBL_Holiday 
             (Status, Active, DateOfChange) VALUES 
             (?, ?, ?)";
或者,如果您想要更新,您需要使用下面的查询

$sql = "UPDATE TBL_Holiday SET 
           Status= ?,
           Active= ?,
           DateOfChange= ? 
        WHERE idRequest = ?";


/* Bind our params */
$stmt->bind_param('iisi', $status, $active, $date, $id);

删除用于更新或删除行的
$id
,在您的情况下,在下面的查询中插入use

$sql = "INSERT INTO TBL_Holiday 
             (Status, Active, DateOfChange) VALUES 
             (?, ?, ?)";
或者,如果您想要更新,您需要使用下面的查询

$sql = "UPDATE TBL_Holiday SET 
           Status= ?,
           Active= ?,
           DateOfChange= ? 
        WHERE idRequest = ?";


/* Bind our params */
$stmt->bind_param('iisi', $status, $active, $date, $id);

通过拥有它的id。。执行更新操作

$sql = "UPDATE TBL_Holiday SET Status='$status', Active='$active', DateOfChange='$date' WHERE idRequest =$id";
否则。。通过……插入

$sql = "INSERT INTO TBL_Holiday (Status, Active, DateOfChange) VALUES ('$status', '$active', '$date')";

通过拥有它的id。。执行更新操作

$sql = "UPDATE TBL_Holiday SET Status='$status', Active='$active', DateOfChange='$date' WHERE idRequest =$id";
否则。。通过……插入

$sql = "INSERT INTO TBL_Holiday (Status, Active, DateOfChange) VALUES ('$status', '$active', '$date')";

如果需要使用条件,则需要使用更新查询,而不是使用insert。所以你的情况是这样的

$sql = "UPDATE  TBL_Holiday SET Status= ?,Active= ?,DateOfChange=? WHERE idRequest =$id";

如果需要使用条件,则需要使用更新查询,而不是使用insert。所以你的情况是这样的

$sql = "UPDATE  TBL_Holiday SET Status= ?,Active= ?,DateOfChange=? WHERE idRequest =$id";
您将INSERT语句与UPDATE语句混合使用 insert语句的格式如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3,...);
UPDATE table_name
SET column1=value1, column2=value2,...
WHERE some_column=some_value;
  • 使用
    Where
    子句创建与任何其他现有行不关联的新记录,即,假设跳过该部分
同时,表格上有更新声明:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3,...);
UPDATE table_name
SET column1=value1, column2=value2,...
WHERE some_column=some_value;
  • 您确实希望通过使用
    Where
    子句将更新与某个特定行关联,以指示要更新的行
不是我最喜欢的源代码,但您可以查看和。

您将INSERT语句与UPDATE语句混合在一起 insert语句的格式如下:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3,...);
UPDATE table_name
SET column1=value1, column2=value2,...
WHERE some_column=some_value;
  • 使用
    Where
    子句创建与任何其他现有行不关联的新记录,即,假设跳过该部分
同时,表格上有更新声明:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3,...);
UPDATE table_name
SET column1=value1, column2=value2,...
WHERE some_column=some_value;
  • 您确实希望通过使用
    Where
    子句将更新与某个特定行关联,以指示要更新的行
不是我最喜欢的源代码,但您可以查看和。

这是工作代码:


这是工作代码:



为什么将其标记为jQuery?INSERT不应与WHERE子句一起使用,您正在尝试更新吗?您可能需要更新查询
INSERT
用于添加新行。使用
WHERE
子句是没有意义的,因为它引用了现有的行。如果要更改现有行,应使用
UPDATE
。为什么将其标记为jQuery?INSERT不应与WHERE子句一起使用,是否正在尝试更新?可能需要更新查询
INSERT
用于添加新行。使用
WHERE
子句是没有意义的,因为它引用了现有的行。如果要更改现有行,您应该使用
UPDATE
。在
INSERT
语句中使用
WHERE
子句仍然无效现在您没有对
$id
输入执行任何操作。在
INSERT
语句中使用
WHERE
子句仍然无效现在您没有对
$id
输入执行任何操作。