mysql_real_escape_string -- 脫逸資料庫語法中的特殊字元.
脫逸資料庫語法中的特殊字元. 所以他可以安全放進mysql_query()執行.
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$item = "Zak's and Derick's Laptop";
$escaped_item = mysql_real_escape_string($item);
printf ("Escaped string: %s\n", $escaped_item);
?>
Escaped string: Zak\'s and Derick\'s Laptop
注: mysql_real_escape_string() 不脫逸 % 和 _.
See also: mysql_escape_string(), mysql_character_set_name().
資料來源:http://pda.php5.idv.tw/modules.php?mod=books&act=show&shid=477
2008年2月23日 星期六
字串加入斜線
AddSlashes
本函式使需要讓資料庫處理的字串,引號的部份加上斜線,以供資料庫查詢 (query) 能順利運作。這些會被改的字元包括單引號 (')、雙引號 (")、反斜線 backslash (\) 以及空字元 NUL (the null byte)。
語法: string addslashes(string str);
資料來源:http://stock.ettoday.com/book/function.php-AddSlashes.htm
本函式使需要讓資料庫處理的字串,引號的部份加上斜線,以供資料庫查詢 (query) 能順利運作。這些會被改的字元包括單引號 (')、雙引號 (")、反斜線 backslash (\) 以及空字元 NUL (the null byte)。
語法: string addslashes(string str);
資料來源:http://stock.ettoday.com/book/function.php-AddSlashes.htm
2008年1月29日 星期二
16進制轉成2進制
ALTER FUNCTION [dbo].[16Transfer2] (@Code Nvarchar(20))
RETURNS Nvarchar(100)
AS
BEGIN
DECLARE @ResultVar Nvarchar(100)
DECLARE @iLen Int
DECLARE @I Int
DECLARE @SingleCode Nvarchar(2)
DECLARE @Ten INT
SELECT @iLen = LEN(@Code)
SET @I = 1
SET @ResultVar = ''
While @I <= @iLen
BEGIN
SET @SingleCode = SUBSTRING(@Code, @I, 1)
SET @Ten = CASE @SingleCode
WHEN 'A' THEN 10
WHEN 'B' THEN 11
WHEN 'C' THEN 12
WHEN 'D' THEN 13
WHEN 'E' THEN 14
WHEN 'F' THEN 15
ELSE CONVERT(INT, @SingleCode)
END
SET @ResultVar = @ResultVar + dbo.[10Transfer2_16](@Ten)
SET @I = @I + 1
END
RETURN RTRIM(LTRIM(@ResultVar))END
EX:Select dbo.[16Transfer2]('F')==>1111
把10進位的數字變成2進位--數字為0-15(16進制轉成2進制用)
ALTER FUNCTION [dbo].[10Transfer2_16] (@Code Int) RETURNS Nvarchar(4)
AS
BEGIN
DECLARE @Number Int
DECLARE @I INT
DECLARE @Two Nvarchar(4)
SET @Number = @Code
SET @I = 3 --只除3次
SET @Two = ''
WHILE @I <> 0
BEGIN
SET @Two = CONVERT(Nvarchar(1), @Number%2) + @Two
SET @Number = @Number / 2
SET @I = @I - 1
END
IF @I = 0
BEGIN
SET @Two = CONVERT(Nvarchar(1), @Number) + @Two
END
RETURN LTRIM(RTRIM(@Two))
END
EX:Select dbo.[10Transfer2_16](14)==> 1110
AS
BEGIN
DECLARE @Number Int
DECLARE @I INT
DECLARE @Two Nvarchar(4)
SET @Number = @Code
SET @I = 3 --只除3次
SET @Two = ''
WHILE @I <> 0
BEGIN
SET @Two = CONVERT(Nvarchar(1), @Number%2) + @Two
SET @Number = @Number / 2
SET @I = @I - 1
END
IF @I = 0
BEGIN
SET @Two = CONVERT(Nvarchar(1), @Number) + @Two
END
RETURN LTRIM(RTRIM(@Two))
END
EX:Select dbo.[10Transfer2_16](14)==> 1110
2進制轉成10進制(function)
CREATE FUNCTION [dbo].[2Transfer10] (@Code Nvarchar(100)) RETURNS Int
AS
BEGIN
DECLARE @ResultVar Int
DECLARE @iLen Int
DECLARE @I Int
DECLARE @J INT
DECLARE @Number Int
SET @iLen = LEN(@Code)
SET @I = @iLen-1
SET @J = 1
SET @ResultVar = 0
WHILE (@I >= 0) AND (@iLen >= @J)
BEGIN
SET @Number = SUBSTRING(@Code, @J, 1)
IF @Number = 1
Begin
SET @ResultVar = @ResultVar + POWER(2,@I)
END
SET @I = @I - 1
SET @J = @J + 1
END
RETURN @ResultVar
END
EX:
Select [dbo].[2Transfer10](1101) ==>13
AS
BEGIN
DECLARE @ResultVar Int
DECLARE @iLen Int
DECLARE @I Int
DECLARE @J INT
DECLARE @Number Int
SET @iLen = LEN(@Code)
SET @I = @iLen-1
SET @J = 1
SET @ResultVar = 0
WHILE (@I >= 0) AND (@iLen >= @J)
BEGIN
SET @Number = SUBSTRING(@Code, @J, 1)
IF @Number = 1
Begin
SET @ResultVar = @ResultVar + POWER(2,@I)
END
SET @I = @I - 1
SET @J = @J + 1
END
RETURN @ResultVar
END
EX:
Select [dbo].[2Transfer10](1101) ==>13
2007年12月25日 星期二
在迴圈中跳脫控制,執行其他功能
在迴圈中加入 Application.ProcessMessages;
EX:
procedure TForm1.BitBtn1Click(Sender: TObject);
var I : Integer;
begin
IF TBitBtn(Sender).Tag = 1 then
Begin
Application.ProcessMessages;
BitBtn2.Enabled := True;
BitBtn3.Enabled := True;
for I:= 0 TO 100 Do
Begin
Label3.Caption := IntToStr(I);
sleep(100);
End;
End
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BitBtn2.Enabled := False;
BitBtn3.Enabled := False;
end;
EX:
procedure TForm1.BitBtn1Click(Sender: TObject);
var I : Integer;
begin
IF TBitBtn(Sender).Tag = 1 then
Begin
Application.ProcessMessages;
BitBtn2.Enabled := True;
BitBtn3.Enabled := True;
for I:= 0 TO 100 Do
Begin
Label3.Caption := IntToStr(I);
sleep(100);
End;
End
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BitBtn2.Enabled := False;
BitBtn3.Enabled := False;
end;
Access 資料新增到不同資料庫,或查詢不同資料庫的資料
INSERT INTO [;database=C:\Users\s\Desktop\Access\data2.mdb].table3 ( txt1, txt2, txt3 )
SELECT txt1, txt2, txt3
FROM table1;
SELECT *FROM table3 IN "" [;database=C:\Users\s\Desktop\Access\data2.mdb];
database前需加分號[;database=....]
database需用絕對路徑 EX:C:\Users\s\Desktop\Access\data2.mdb
SELECT txt1, txt2, txt3
FROM table1;
SELECT *FROM table3 IN "" [;database=C:\Users\s\Desktop\Access\data2.mdb];
database前需加分號[;database=....]
database需用絕對路徑 EX:C:\Users\s\Desktop\Access\data2.mdb
2007年12月24日 星期一
2007年12月14日 星期五
2007年11月27日 星期二
命令提示字元無法使用(cmd)
在原本的路徑下不可執行,但在 C:\WINDOWS\system32> 可執行,這是因為環境變數被改變了。
解決方式:
控制台->系統->變更設訂->進階->環境變數->上半的PATH加入;C:\WINDOWS\system32
解決方式:
控制台->系統->變更設訂->進階->環境變數->上半的PATH加入;C:\WINDOWS\system32
訂閱:
文章 (Atom)