準条件付き挿入を機能させようとしています。データベースには 3 つの異なるタイプの要素があり、created_at の日付は一意のキーです。データベースを構築した担当者は、各テーブル (レッスン、シリーズ、パッケージ) に同じ構造を使用していたため、一意の値については created_at フィールドに依存する必要があります。
新しい行を挿入したいのですが、それが purchase_lessons テーブルにあるのか、 purchase_series テーブルにあるのか、 purchase_packages テーブルにあるのかわかりません。私は $item_current (これは $_POST から返される日付です - 別のセクションで作業しています) を知っており、$user_id (同じ理由) も知っています。しかし、これは新しい行を挿入していません:
$is_lesson = mysql_real_escape_string(mysql_query("SELECT id FROM lessons WHERE created_at LIKE \"$item_current\""));
$is_series = mysql_real_escape_string(mysql_query("SELECT id FROM series WHERE created_at LIKE \"$item_current\""));
$is_package = mysql_real_escape_string(mysql_query("SELECT id FROM packages WHERE created_at LIKE \"$item_current\""));
$lesson_rows = mysql_num_rows($is_lesson);
$series_rows = mysql_num_rows($is_series);
$package_rows = mysql_num_rows($is_package);
$lesson_result = mysql_fetch_array($is_lesson);
$series_result = mysql_fetch_array($is_series);
$package_result = mysql_fetch_array($is_package);
$lesson_id_to_insert = $lesson_result['id'];
$series_id_to_insert = $series_result['id'];
$package_id_to_insert = $package_result['id'];
if ($lesson_rows > 0) {
mysql_query("INSERT INTO purchased_lessons VALUES ($user_id,$lesson_id_to_insert])");
} else if ($series_rows > 0) {
mysql_query("INSERT INTO purchased_series VALUES ($user_id,$series_id_to_insert)");
} else if ($package_rows > 0){
mysql_query("INSERT INTO purchased_packages VALUES ($user_id,$package_id_to_insert)");
}
近すぎて木を見て森が見えないのかな。挿入を実行しません。