2014-03-07 3 views
1

Ниже я ищу пять разных видеороликов и получаю жанр каждого из них. Есть ли способ, чтобы я мог объединить все пять вместе в один запрос, чтобы сделать мой код более эффективным? Я уверен, что есть способ, его просто, что я борюсь с синтаксисом.Сохранение времени с подготовленными заявлениями

$stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ?"); 
     $stmt->bind_param('s',$item1);// Video one 
     $stmt->execute(); 
     $stmt->bind_result($Genre1); 
     $stmt->fetch(); 
     $stmt->close(); 

     $stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ? "); 
     $stmt->bind_param('s',$item2); // video two 
     $stmt->execute(); 
     $stmt->bind_result($Genre2); 
     $stmt->fetch(); 
     $stmt->close(); 

     $stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ? "); 
     $stmt->bind_param('s',$item3); 
     $stmt->execute(); 
     $stmt->bind_result($Genre3); 
     $stmt->fetch(); 
     $stmt->close(); 

     $stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ? "); 
     $stmt->bind_param('s',$item4); 
     $stmt->execute(); 
     $stmt->bind_result($Genre4); 
     $stmt->fetch(); 
     $stmt->close(); 

     $stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ? "); 
     $stmt->bind_param('s',$item5); 
     $stmt->execute(); 
     $stmt->bind_result($Genre5); 
     $stmt->fetch(); 
     $stmt->close(); 
+0

Гм, идея подготовленных утверждений, чтобы подготовить его только один раз, а затем использовать тот же оператор с различными параметрами ... просто как намек. – fancyPants

ответ

0
$Genres = array(); 
$items = array($item1, $item2, $item3,$item4,$item5); 
$stmt = $mysqli->prepare("SELECT Genre FROM videos Where VideoId = ? "); 

foreach ($items as $index => $item) { 

    $stmt->bind_param('s',$item); 
    $stmt->execute(); 
    $stmt->bind_result($Genres[$index]); 
    $stmt->fetch(); 
} 

$stmt->close(); 
+0

Извините за мое невежество, но не лучше, если подготовка была вне цикла for? – Leo

+0

Упс ... @Leo хороший улов, мой плохой ... – Ray

Смежные вопросы