我正在尝试使用PHP将数据插入MySQL数据库,但它无法正常工作。
在我添加插入代码之前,我检查了POST是否正常工作并从输入中获取我需要的数据。
这是存储过程
BEGIN
INSERT INTO students
(
signatoryid,
signatoryname,
signatoryposition,
signatoryoffice
)
VALUES
(
p_signatoryid,
p_signatoryname,
p_signatoryposition,
p_signatoryoffice
) ;
END
这是我的php将数据插入MySQL。我收到了成功的警报,但没有插入数据库。
<?php
if (isset($_POST['submit'])){
$signatory_name = $_POST['sig_name'];
$signtory_position = $_POST['sig_position'];
$signatory_office = $_POST['sig_office'];
require_once 'dbconfig.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname",$username, $password);
$stmt = $conn->prepare("CALL sp_insertsignatory (?), (?), (?), (?)");
$value = '0001';
$stmt->bindParam(1, $value, PDO::PARAM_STR, 10);
$stmt->bindParam(2, $signatory_name, PDO::PARAM_STR, 30);
$stmt->bindParam(3, $signtory_position, PDO::PARAM_STR, 30);
$stmt->bindParam(4, $signatory_office, PDO::PARAM_STR, 30);
$stmt->execute();
echo '<script language="javascript">';
echo 'alert("successful")';
echo '</script>';
} catch (PDOException $pe) {
die("Error occurred:" . $pe->getMessage());
}
}
?>
答案 0 :(得分:0)
问题是我在存储过程中使用的表名 在fred ii指出这个网站后http://php.net/manual/en/pdo.error-handling.php 并将其应用于我的代码。我收到错误并知道问题是什么
$conn = new PDO("mysql:host=$host;dbname=$dbname",$username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
$stmt = $conn->prepare("CALL sp_insertsignatory (?,?,?,?)");