ロード時間がかかるページがありますが、これはSQLリクエストが多すぎるために発生していると思います)。とにかくこれらの3つのクエリを1つに結合することはありますか?PHPコードの代わりに良いSQLクエリを使用する
私がこの質問をしたいのは、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'];
}
}
私はこのすべてを1つのクエリに入れようとしていますが、どこにもいません。とにかくこれを行うために1つのクエリだけを使用することはありますか?
ありがとうございます!すでに挿入後に使用可能に挿入IDを持っているよう
1クエリが不可能である
mysqli_insert_id($con);
を取得することにより、最後のクエリを置き換えることができます - あなたは、ストアドプロシージャにそれを置くことができます。 – Hogan私はそれを見ていきますが、それは不可能であると確信していますか?私はSQLのIF文でこれをやろうとしていましたが、成功しませんでした。 –
ifステートメントを使用している場合は、複数のクエリになります。 – Hogan