나는 약간의 튜토리얼을 따라 왔고 이것이 왜 작동하지 않는지 이해할 수 없다.PDO 삽입 값
나는 사용자 클래스가 있습니다. __construct
메서드에서 DB 연결을 얻습니다. 다음으로 나는 Create
메소드를 가지고 있는데, 이는 테이블에 데이터를 삽입하여 사용자를 생성해야하지만 실행되지는 않습니다. bindParam
함수 나 MySQL 삽입 코드에 문제가 있다고 생각합니다. 나는 다음과 같은 한 오류 : 당신을 감사하는 방법을 알고있는 경우
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\www\samodel\object\users.php on line 44
이 문제를 해결하기 위해 도와주세요 :
<?php
//Was Products, now Users
class Users{
// database connection and table name
private $conn;
private $table_name = "users";
// object properties
public $id;
public $username;
public $first_name;
public $last_name;
public $email;
public $password;
public function __construct($db){
$this->conn = $db;
}
// create user
function create(){
//write query
$query = "INSERT INTO
" . $this->table_name . "
SET
username = ?, first_name = ?, last_name = ?";
$stmt = $this->conn->prepare($query);
$stmt->bindParam("username", $this->username);
$stmt->bindParam("first_name", $this->first_name);
$stmt->bindParam("last_name", $this->last_name);
if($stmt->execute()){
return true;
}else{
return false;
}
}
}
?>
을 시도 나쁜 SQL을 생각? – Mureinik
경고 : PDOStatement :: execute() : SQLSTATE [HY093] : 잘못된 매개 변수 번호 : 매개 변수가 C : \ www \ samodel \ object \ users.php의 44 행에 정의되어 있지 않습니다. – Nevada
$ stmt-> execute() 줄 – Nevada