【发布时间】:2017-12-19 17:27:53
【问题描述】:
我在php中创建了表单,想更新sql server数据库中的数据。
以下是我的 ad.php 文件。
<html>
<title>FORM</title>
<body><br><br>
<form action ="db_connection.php" method="post">
Activity:<input type="text" name="name"><br><br>
Units: <input id="number"><br><br>
<input type="submit" value="submit">
</form>
上面表格中插入的数据应该在数据库的“ad”表中更新。
以下是我的 db_connection.php 文件:
<?php
class DB{
protected static $db;
const SERVER = "";
const SCHEMA = "";
const USER = "";
const PASS = "";
/*
* Sets up the database connection
* @return the database instance
*/
public static function databaseConnection(){
if(!self::$db){
try {
$databse = "sqlsrv:server=" . self::SERVER . ";Database=" . self::SCHEMA;
self::$db = new PDO($databse, DB::USER, DB::PASS);
self::$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
} catch(PDOException $e){
die("Error " . $e->getMessage());
}
}
return self::$db;
}
}
class ad{
public function dbAdmin(vat $Activity, int $Units): bool {
$conn = databaseConnection::getConnection();
$conn->beginTransaction();
$sql = "INSERT INTO ad('Activity', 'Units') VALUES (:Activity, :Units)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':Units', $Units);
$stmt->bindParam(':Activity', $Activity);
if ($stmt->execute()) {
$conn->commit();
return true;
} else {
$conn->rollback();
return false;
}
}
}
提交表单后我得到一个空白页,并且数据库没有随着提交的新数据而更新。 请您检查代码并帮助我进行更正。
【问题讨论】:
-
开启错误报告,你会得到一个错误信息。仅供参考:
databaseConnection在您的dbAdmin()方法的开头未定义。 -
检查您的网络错误日志。另外,我希望您有一个空白页面,因为一旦您发布到 db_connection.php ,我就看不到它在哪里写任何东西。
标签: php sql-server netbeans pdo insert-update