試圖讓準條件插入工作。數據庫中有三種不同類型的元素,而created_at日期是唯一鍵。構建數據庫的人對每個表使用相同的結構(課程,系列,包),所以我必須依靠created_at字段來獲取唯一值。PHP/MySQL條件插入不插入
這種情況是我想要插入一個新行,但我不知道它是否位於purchased_lessons,purchased_series或purchased_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)");
}
我太接近,我不能看到樹林,我猜。它只是不會執行插入。
echo out $ lesson_rows $ series_rows $ package_rows – mnagel
你逃避結果集? – DevZer0
'mysql_query'不返回字符串,你不能逃避。順便說一句,不要使用已棄用的'mysql_ *'函數 – DanFromGermany