簡體   English   中英

2查詢或1在MySQLi中使用PHP?

[英]2 queries or 1 in mysqli using php?

我有兩張桌子的訂票系統。 一個表供用戶使用(稱為用戶),以便用戶知道它是否已預訂;另一個表供教師使用(稱為預訂),以使教師知道哪些人報名參加了課程。 以下是用戶取消課程預訂的示例。

$new_classes_booked=$classes_booked-1;
$sql2 = $con->query("UPDATE users SET $classes_booked='{$new_classes_booked}' where userID='{$User}'");

$sql2 = $con->query("DELETE FROM bookings where user='{$user}' AND id_class='{$id_classs}'");

許多用戶和教師將同時使用該系統。 鑒於此,有沒有更有效,更安全的方法來執行此操作?

我建議您執行兩個查詢,一個接一個。 第二個將執行得如此之快,以至於沒有任何區別。 您如何看待mysqli_multi_query()函數。

有沒有更有效的方法來執行此操作?

是。
坦率地說,表結構太糟糕了,違反了數據庫設計的每條規則。

用戶表中應該沒有類似$ classes_booked的東西。 預訂的班數應從預訂表中獲取。

有沒有更有效,更安全的方法來執行此操作?

是。
使用准備好的語句。

由於我的mysqli教程尚未准備好,因此這里是基於PDO的安全查詢:

$sql = "DELETE FROM bookings where user=? AND id_class=?";
$con->query($sql)->execute([$user,$id_class]);

2查詢或1在MySQLi中使用PHP?

在PHP中運行2個或更多查詢絕對沒有錯。 一個典型的應用程序每次命中都會運行數十個SQL查詢,並且感覺非常健康。

只要您不在循環中運行查詢,請使用您認為適合於任務的任意數量的查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM