-1
手続きを取り除き、ほぼ完全なOOPに切り替えようとしています。 私は抽象クラス 'Vehicle'を作成し、拡張された 'Car'をインスタンス化しました。オブジェクトのメソッドからDBに挿入できません
データベースにデータを挿入するinsert()メソッドを作成しました: 私はそれを動作させることができません!
がここに抽象クラスです:
<?php
abstract class Vehicle
{
private $id;
private $marque;
private $model;
private $imma;
protected function __construct($ma, $mo, $im)
{
$this->marque = $ma;
$this->model = $mo;
$this->imma = $im;
}
public function setMarque($ma)
{
$this->marque = $ma;
}
public function setModel($mo)
{
$this->model = $mo;
}
public function setImma($im)
{
$this->imma = $im;
}
public function getId()
{
return $this->id;
}
public function getMarque()
{
return $this->marque;
}
public function getModel()
{
return $this->model;
}
public function getImma()
{
return $this->imma;
}
public function insert(PDO $bdd, $idA)
{
try{
$bdd->prepare('INSERT INTO vehicle (immatriculation, id_a)
VALUES ("'.$this->imma.'",'.$idA.')')->execute();
}
catch(Exception $e) {
echo '<script>alert("An error has occured, try again...");</script>';
return;
}
$this->id =
$bdd->prepare('SELECT id_vehicle FROM vehicle
WHERE immatriculation="'.$this->imma.'"')->execute();
}
}
1. PDOからエラーを取得する必要がありますが、現在の方法ではありません。詳細についてはリンクされた回答を参照してください。 PDOの準備されたステートメントを間違った方法で使用しています。 [クエリでは実際のデータの代わりにプレースホルダを設定する必要がありますが、データは実行する必要があります](https://phpdelusions.net/pdo#prepared) –