我想使用全局变量并使用 bindValue() 将其分配给占位符,以便可以将值插入数据库。我正在使用的功能如下
public function insertComment() {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = 'INSERT INTO comments ( name, email, commentText, articleID ) VALUES ( :name, :email, :commentText, :articleID )';
$st = $conn->prepare ( $sql );
$st->bindValue( ":name", $this->name, PDO::PARAM_STR );
$st->bindValue( ":email", $this->email, PDO::PARAM_STR );
$st->bindValue( ":commentText", $this->commentText, PDO::PARAM_STR );
$st->bindValue( ":articleID", $this->articleID, PDO::PARAM_INT );
$st->execute();
$conn = null;
}
我不能只创建一个公共变量的原因是因为数据正在从表单发布到它并且使用公共或公共静态是无效的语法。我正在使用的变量是
$name = isset($_POST['name']) ? $_POST['name'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$commentText = isset($_POST['comment']) ? $_POST['comment'] : '';
$id = isset($_POST['id']) ? $_POST['id'] : '';
我想要做的甚至是可能的,还是我最好找到另一种分配值的方法,以便我可以插入数据库?