�� �ޭz�mstarjou (�u���R�R�ݵۤF ...)�n���ʨ��G
�аݥ� char �� varchar �� primary key �u���|�v�T�į��줣������{�סH
�����A��int�H�~���F����PK�O�@�w�|�����C��
���]�pweiyu�j�j�����A�D�j�ƪ����Ƥ�����CPU�Ө��A�u�n�@��instruction�N�n�F
�ܩ��O���O�|�v�T�į��줣������{�סA���p�ڨä����o
���O���N�ڭ̨ϥήM��DBS�����]�P�ت��ӻ�
�ڻ{���o�˪��į�v�T�p�G�O�b10%�H���N�٥i�H����
����DBS�q�`�ä��O�C�b���ئa��
�䦸�A�ϥ�Auto_increment�O���O�Ӧn�ߺD�H
�����ܡA�u���O�v�u�O�ڭӤH�N�DzߤW�M�g���W���[�I
�|�Ҩӻ��A�@�ӷ|�����ƩM�L�̪��U���ݩʡ]�b���Hsn����serial number�^
[member]
sn, id, password, ...
[member_attr]
sn, member_sn, attr, value
�{�b���]�ڭn�̬Y���ݩʨӷj�M�|���ASQL�p�U�G
SELECT m.id FROM member m, member_attr a
WHERE m.sn = a.member_sn
AND a.attr = 'birthday'
AND a.value LIKE '%-01-07'
�i�O�p�G�ڪ����Ʈw�[�c�O�o�ˡG
[member]
id, password, ...
[member_attr]
sn, member_id, attr, value
���ڪ�SQL�N�u�n�GSELECT member_id FROM member_attr WHERE ...
�۹��Ө������u�ADBS�]�i�H�`�٤@�Ǹ�table���B�@
���O�o�˪����k�]�ä��O�S�����I
���軡�ڦA�Y�����Ʈw�[�c..�]�HPK����Primary Key�^
[member] PK: (id)
id, password, ...
[member_attr] PK: (member_id, attr)
member_id, attr, value
���I���@��ӫܩ����A�C��member��attr�u��@�ӭ�
�p�G���O"�g��"�o���ݩʷQ�n��}�C���ܴN�����K�F
���I���G�N�OPK���զ��V�h�A���F��DBS���t���|�ܤj�]index���_�Ӥ��������^���~
���ڤW�n�@�s�ת��ɭԤ]�|�����·�
���]�O�쥻���[�c�A�ڭ̦��@�ӭt�d�R�����ݩʪ�deleteAttr.php
�����쥻�u�ndeleteAttr.php?member_attr=3
�|�ܦ�deleteAttr.php?member_id=&attr=birthday[1;30m�]�����X:P�^[m
�۹��Ө��O��������
���L�A�ڭ̦^�Y�ݲĤG�ӯ��I�A���u���O���I�ܡH
�b�o�˪��[�c�U�A�����ڭ̤ϦӤ����֯����o���ӵ����ƪ�"�N�q"
�q���}���ڭ̴N�i�H�ܧ֪����D�n�R�����O���ͤ��ݩ�
�Ӥ��ΦA�h�h���@���d��
�o�˪��S�ʡA�b�Y�Ǫ��p�U�O���I�n�B��
���軡�N��deleteAttr.php�����e�Ө��A�쥻���[�c�U�ݭn�g���G
<?php
// ....DB connection, login check or whatever
$sql = "
SELECT id FROM member m, member_attr a
WHERE m.sn = a.member_sn
AND a.sn = %d
";
$attrOwner = $db->getOnw(sprintf($sql, $_GET['member_attr']));
if($_SESSION['userid']!=$attrOwner) exit('Authentication denied!');
else {
$sql = "DELETE FROM member_attr WHERE sn = %d";
$db->query(sprintf($sql, $_GET['member_attr']));
}
// .. other works
?>
���ڤW�R�����y�k���M��²���A���O�o�n�����@���v���T�{
�Ϥ��Y�O�έק蠟�᪺�[�c�G
<?php
// ....DB connection, login check or whatever
if($_SESSION['userid']!=$_GET['member_id'])
exit('Authentication denied!');
else {
$sql = "
DELETE FROM member_attr
WHERE member_id = '%s' AND attr = '%s'
";
$db->query(sprintf($sql, $_GET['member_id'], $_GET['attr']));
}
// .. other works
?>
SQL�O���F�@�I�A���O�o���ڭ̤��Φh���v���ˬd��query
�H�W�O�@�I�p�Ҥl�A�ܩ����Ӥ��k�n�A�ڷQ��������
�D�n���O�ݹ��]�p�̦Ө��A���ˤ������K
�ܩ��t�װ��D�A�ڴN�������F
�����u�n�n�D���ܡA�ڭ���Ӧۤv�]�p�w���A�åB�q�զX�y���}�l�ۤv�gDBS
�����M�ڭ̨S���l�O�o�˰��C
--
[;1;32m�~ �~ [;32m�~[1;30m [36m�~���~��[30m P_LifeOMusic[m
[1;32m�x [33m�W[32m ���~�w�� [30m�~[;32m�w��[1;30m [;36m��[1;30m [36m�x�x�x�x �� ���~�w�[;30mw[1;33m�W[36m�~�w��[m
[1;32m�x �x �x�颤�� [;32m�x[36m �x[1;30m [;33m�x[1;30m [36m�x�����x �x �x���w���x�x[m
[1;32m���w���� ���|�w�� [;33m��[32m��[33m��[1;30m [;36m��[1;30m [36m��[m' '[1;36m�� ���w��[;30m�[1;36mw�w�����|�w��[m
--
[36mkong[37m �b[36m 07/08/14 1:14:46 [37m�q[36m 218.170.121.94 [37m�ק��o�g�峹