嘿嘿。
我对PHP很陌生,但对学习却很不自信。我发现这是处理数据库连接的方法。已经调试了代码,但还有一件顽固的事情。似乎不能把我的大脑包围在这个错误代码上。任何简单的指针我都能理解。;-)
我正在浏览这几页:https://www.php.net/manual/en/pdostatement.bindparam.php
错误消息:数据库连接establishedPDOException: SQLSTATEHY093:无效参数号:参数未在C:\xampp\htdocs\Test\dbtest.php:28堆栈跟踪中定义:#0 C:\xampp\htdocs\Test\dbtest.php(28):PDOStatement->execute() #1 {main}
<?php
// Require needed classes
require_once('dbhandler.php');
// Create needed objects
$dbh = new DBHandler();
// Check if database connection established successfully
if ($dbh->getInstance() === null) {
die("No database connection");
}
//$datetime = date("Y-m-d H:i:s");
$epost = 'svante@telia.com';
$namn = 'Svante';
$användarnamn = 'Poffe';
$lösenord = '1596';
try {
$sql = "INSERT INTO users(epost, namn, användarnamn, lösenord) VALUES(:epost, :namn, :användarnamn, :lösenord)";
$stmt = $dbh->getInstance()->prepare($sql);
$stmt->bindParam(':epost', $epost, PDO::PARAM_STR);
$stmt->bindParam(':namn', $namn, PDO::PARAM_STR);
$stmt->bindParam(':användarnamn', $användarnamn, PDO::PARAM_STR);
$stmt->bindParam(':lösenord', $lösenord, PDO::PARAM_STR);
$stmt->execute();
}
catch(PDOException $e) {
echo $e;
}
?>/Svante
发布于 2020-12-24 10:21:59
可能值得尝试一个简化的版本,从PHP变量和指定的占位符中省略特殊字符。
<?php
require_once('dbhandler.php');
$dbh = new DBHandler();
$e = 'svante@telia.com';
$n = 'Svante';
$a = 'Poffe';
$l = '1596';
$sql = "INSERT INTO users( `epost`, `namn`, `användarnamn`, `lösenord` ) VALUES( :e, :n, :a, :l )";
$stmt = $dbh->getInstance()->prepare($sql);
$stmt->bindParam(':e', $e, PDO::PARAM_STR);
$stmt->bindParam(':n', $n, PDO::PARAM_STR);
$stmt->bindParam(':a', $a, PDO::PARAM_STR);
$stmt->bindParam(':l', $l, PDO::PARAM_STR);
$stmt->execute();https://stackoverflow.com/questions/65436823
复制相似问题