我有一個頁面需要很長時間才能加載,而且我幾乎可以確定這是由於SQL請求太多而導致的)。無論如何要將這3個問題合併爲一個?使用一個很好的SQL查詢而不是PHP代碼
我想要做的這個查詢是試圖從Cardapios中選擇一個特定的ID,如果有任何東西(如果$ num_rows> 0),我想要做的唯一事情就是選擇該ID。如果什麼都沒有,那麼我想插入一些東西,然後選擇它的ID。
$query = "SELECT id FROM cardapios WHERE nome='$nome'";
$sql = mysqli_query($con,$query);
$num_rows = mysqli_num_rows($sql);
if ($num_rows > 0){
while ($row = mysqli_fetch_array($sql)){
$_SESSION['id_cardapio'] = $row['id'];
$num_rows = 0;
}}else{
$query = "INSERT INTO cardapios (nome, kcal, semana)
VALUES('$nome', '$kcal', '$semana')" or die(mysqli_error($con));
$sql = mysqli_query($con,$query);
$query = "SELECT id FROM cardapios WHERE nome='$nome' ";
$sql = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($sql)){
$_SESSION['id_cardapio'] = $row['id'];
}
}
我想把所有這一切放入一個查詢,但無處可去。無論如何只用一個查詢來完成這一切?
在此先感謝!
一個查詢是不可能的 - 你可以把它放在一個存儲過程。 – Hogan
我會研究一下,但你確定這是不可能的嗎?我試圖用SQL中的IF語句來做到這一點 - 但沒有成功。 –
如果您使用的是if語句,那麼它將是多個查詢。 – Hogan