0
私は自分のコードを調べています。 1つの変数に値を格納するだけの場合は、これを行う必要があります。PHP/MySQLi - 変数に1行とストアの値を取得する方法は?
switch($type) {
case "next":
if ($stmt = $mysqli->prepare("SELECT sort_order FROM user_slides WHERE user_id = ? AND sort_order > ? ORDER BY sort_order LIMIT 1")) {
$stmt->bind_param('is', $user_id, $sortId);
$stmt->execute();
$stmt->bind_result($next_sort_id);
$stmt->store_result();
$stmt->fetch();
return $next_sort_id;
$stmt->close();
}
break;
case "first":
if ($stmt = $mysqli->prepare("SELECT MIN(sort_order) as max_slides FROM user_slides WHERE user_id = ?")) {
$stmt->bind_param('i', $user_id);
$stmt->execute();
$stmt->bind_result($first_sort_id);
$stmt->store_result();
$stmt->fetch();
return $first_sort_id;
$stmt->close();
}
break;
case "last":
if ($stmt = $mysqli->prepare("SELECT MAX(sort_order) as max_slides FROM user_slides WHERE user_id = ?")) {
$stmt->bind_param('i', $user_id);
$stmt->execute();
$stmt->bind_result($last_sort_id);
$stmt->store_result();
$stmt->fetch();
return $last_sort_id;
$stmt->close();
}
break;
}
これを行うには、簡単な方法が必要です。私はちょうどこれのようにすることができます:
それは長くてもいいですが、それは素敵で短くすることができます。
誰でも私がそれを達成するために必要なことを知っていますか?
感謝!私はswitch文全体を含めるように答えを編集しました。 "次の"ケースが他の2つのクエリと異なるクエリを参照してください、私はまだあなたの答えの仕事をすることはできますか? – Drew
あなたが右にスクロールすると、次のクエリは実際には、別のオプションよりもずっと長くなります。実際には、単一の値を返すだけで済むたくさんの他のクエリでこれを必要とするかもしれません。何にも適用できるより普遍的な解決策がありますか? – Drew
@Drewこのケースでは、すべての "ケース"で、クエリ、prepare文、およびバインドを入れなければなりません。他の命令はスイッチの後に行くことができます。 –