我有以下MySQL的MySQL的SELECT語句,在2個表查詢,其中1列匹配
$tutorial = $database->query(
'SELECT ' .
'tutorial.*, ' .
'apps.*'.
'FROM ' .
$database->db_prefix . 'tutorial, ' .
$database->db_prefix . 'apps ' .
'WHERE ' .
'apps.title = "' . $name . '" AND apps.id = tutorial.app AND tutorial.relation = "' . $user['id'] . '"'
);
我想獲得該行地方apps.title等於$名稱,然後得到一個基於所有教程檢索到的應用ID。這充當兩個表之間的鏈接。
以上是否正常工作?
特別:
'apps.title = "' . $name . '" AND apps.id = tutorial.app AND tutorial.relation = "' . $user['id'] . '"'
你** **真的需要閱讀如何正確[轉義SQL參數](http://bobby-tables.com/php)。這是危險的不安全。 – tadman
ay?這個危險的不安全的lmao如何? $ name包含我已驗證的發佈變量。 :不要傻。 – Jimmyt1988
驗證是不夠的。您**必須轉義您放入SQL中的所有值。如果它不是很明顯,那麼它就是錯誤的。如果你採取休閒方式,你會被燒傷。當有[自動注入工具](http://sqlmap.org/)的人劫持您的網站時,您不會笑。 – tadman