たとえば、という名前の2つのデータベーステーブルがあります
user
id name
-- -----
1 Mike
2 Bob
3 Tony
4 Christina
5 James
product
product_id chooser_id chooser_name selection_status
---------- ---------- ------------ -----------------
1 1 Mike 0
2 2 Bob 1
3 3 Tony 0
4 3 Tony 1
5 3 Tony 1
ここで、上記のテーブルで利用可能なデータは、次のmysql構文に基づいてテーブルproduct
のログインユーザーによって挿入されます。user
mysql_select_db($database_XYZ, $XYZ);
$query_test = "SELECT user.id, user.name, product.product_id, product.chooser_id, product.chooser_name, product.selection_status FROM user, product WHERE user.id = '$_SESSION[userid]' AND user.id = product.chooser_id AND product.selection_status = 1 ";
$test = mysql_query($query_$test, $XYZ) or die(mysql_error());
$row_test = mysql_fetch_assoc($test );
$totalRows_test = mysql_num_rows($test );
ここで、ユーザーTonyが、次の構文に応じて、ログインしたセッションで彼が挿入したテーブルselection_status
(0
&1
はフラグ付きの値)を確認したい場合product
if (isset($row_test ["selection_status"]) == "1") {
echo $row_test ["selection_status"];
}
データをチェックしている間もログインしていて、テーブルの次の部分からのクエリに予期せず一致しているように見えるすべての行をフェッチするため1
、構文は異常に戻ります。1
mysql
product
product_id chooser_id chooser_name selection_status
---------- ----------- ------------- -----------------
4 3 Tony 1
5 3 Tony 1
代替のphp条件ステートメントを使用してセッション配列内のmysqlデータベースの1行のみを呼び出し/チェックして、各チェックまたは呼び出しで1行のみのデータを返すようにする方法は?
product_id chooser_id chooser_name selection_status
---------- ----------- ------------- -----------------
4 3 Tony 1
また
product_id chooser_id chooser_name selection_status
---------- ----------- ------------- -----------------
5 3 Tony 1
データはセッションを通じてここに入力されるためmysql LIMIT
、などはここでは適用されないことに注意してください。WHERE product_id=4