Использование последнего php для создания функции, которая добавляет строку к пользователю таблицы.
class targil_db {
private $_pdo;
public function __construct() {
// username: root password: <blank> database: targil
$this->_pdo = new PDO(
'mysql:host=127.0.0.1;dbname=targil',
'root',
''
);
}
function addUser($username, $password) {
$md5password = md5($password);
$sql = <<<SQL
"INSERT INTO user (username,password) VALUES (:username,:password)"
SQL;
$stmt = $this->_pdo->prepare($sql);
$stmt->bindValue(':username', $username,PDO::PARAM_STR);
$stmt->bindValue(':password', $password,PDO::PARAM_STR);
$stmt->execute();
}
}
, когда я выполняю функцию addUser, это запрос, который я вижу выполненным в файле журнала mysql:
INSERT INTO user (username,password) VALUES (:username,:password)
, как вы можете видеть, он не заменил: varname на правильное значение.Чего мне не хватает?
Я пробовал и bindValue, и bindParam, но получил те же результаты.
обновление
даже при изменении :username
и :password
на ?,?
и я использую bindValue(1,$username)
и bindValue(2,$password)
я получаю одинаковые результаты.фактически выполняемый запрос все еще содержит ?,?
вместо фактических переменных.