Я пытаюсь создать логин script, который извлекает информацию, проверяя, что имя пользователя является частью группы. Другими словами, я использую два "ands" для проверки информации. Правильно ли я делаю это?
PHP:
$check = mysql_query("SELECT username ,password FROM customers WHERE username = '".$_POST['user_name']."' and group_name='".$group_name."'")or die(mysql_error());
Брэндон Хорсли и Мэтт Гибсон уже упоминал его как комментарии - подумайте о SQL injection
. Следующая вещь в том, что я сильно не рекомендую использовать die(mysql_error())
. В противном случае опытный пользователь может "прочитать что-то" из этого.
Самый простой способ - использовать mysql_real_escape_string()
(http://de.php.net/mysql_real_escape_string), чтобы вы могли адаптировать свой код так же (я полагаю, что $group_name
также является значением, которое может манипулировать пользователем)
<?php
// ...
$check = mysql_query("SELECT username, password FROM customers WHERE username = '". mysql_real_escape_string($_POST['user_name']) ."' and group_name = '". mysql_real_escape_string($group_name) ."'") or die('error);
// ...
?>