试图让准条件插入工作。我在数据库中有三种不同类型的元素,created_at 日期是唯一键。构建数据库的人对每个表(课程、系列、包)使用相同的结构,所以我必须依赖 created_at 字段来获取唯一值。
情况是我想插入一个新行,但不知道是在purchase_lessons、purized_series 还是purized_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)");
}
我想我离得太近了,只见树木不见森林。它只是不会执行插入。