PHP OOPを使用してカスタムCMSを作成しています。基本的に私はdbに新しい行を追加できるクラスを作っています。DB内に行が存在しないときにPHP OOPでクエリを挿入
私のクラス:
<?php
class Navigation
{
private $db;
public function __construct()
{
$this->db = new Connection();
$this->db = $this->db->dbConnect();
}
public function NewMenu($menu_name,$menu_numbers)
{
if (!empty($menu_name) && !empty($menu_numbers)) {
$sql = "INSERT INTO menu_nav "
. "(menu_name, menu_items) VALUES (?, ?)";
$ins = $this->db->prepare($sql);
$ins->bindParam(1,$menu_name);
$ins->bindParam(2,$menu_numbers);
$ins->execute();
} else {
header("Location: maint/php/includes/errors/009.php");
exit();
}
}
}
このクラスでは、正常に動作しますが、問題は、私はmenu_name
がテーブルにすでに存在しているかいないかどうかを確認する方法がわからないということです。また、「はい」の場合は、「データをdbに挿入できません」というエラーメッセージが表示されます。 PHP OOPでこの機能を実行する方法を知っているなら、本当に必要な理由を教えてください。
[mysqlデータベースへの重複エントリを避けるための最良の方法](http://stackoverflow.com/questions/2219786/best-way-to-avoid-duplicate-entry -into-mysql-database) –
あなたの質問は本当に_general_でMySQLの重複したエントリを処理する方法に関するものなので、これを重複として投票しました。使用しているPHPラッパーはこのAFAIKを変更しません。 –
私はOPが以前に入力した行を見つける方法を探していると思います。部分的に質問は類似しているかもしれませんが、解決策は提供されたものとはかなり異なっています。 OPはレコードが存在するかどうかを見つけるためにデータベースに別の要求をしなければならない。 – Samundra