[英]I can't input the data into my table using prepared statements
我無法使用以下腳本將數據輸入到我的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
和WHERE
,在這種情況下,請在查詢下方插入
$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')";
如果需要同時使用條件,則無需使用插入,而需要使用更新查詢。 所以你的情況會是這樣,
$sql = "UPDATE TBL_Holiday SET Status= ?,Active= ?,DateOfChange=? WHERE idRequest =$id";
插入語句的格式為:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3,...);
where
子句where
不與任何其他現有行關聯的位置創建新記錄的where
,即,您想跳過該部分。 同時,更新語句的形式為:
UPDATE table_name
SET column1=value1, column2=value2,...
WHERE some_column=some_value;
where
子句將您的更新與某些特定行相關聯,以指示要更新的行。 這是工作代碼:
<?php
/* Set our params */
$date = date("Y-m-d");
$id = $_POST['id'];
$status = $_POST['status'];
$active = 1;
/*Create executed SQL*/
$sql = "UPDATE TBL_Holiday SET
Status= ?,
Active =?,
DateOfChange =?
WHERE idRequest = ?";
/*Prepare SQL connection*/
$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();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.