0【錯誤經過】:呼叫mysql儲存過程時,需要根據傳入引數判斷後輸出一段中文字串變數,結果php獲取後顯示為"??????,???!".
【儲存過程】:
delimiter //
create procedure p__user_reguser(
out strmessage varchar(1000),
in stralias varchar(100),
in strpwd varchar(100)
)begin
set strmessage = '';
if not exists(select * from _user where username = stralias) then
begin
insert into _user(username, password, activeflag, createtime)
values(stralias, strpwd, 0, now());
end;
else
begin
set strmessage = '使用者已存在,請重試!';
end;
end if
end;
//
【php**】:
try ','')", $conn) or die("query failed:".mysql_error());
$result = mysql_query("select @message",$conn);
$row = mysql_fetch_row($result);
$message = $row[0];
if($message != '')
else
} catch (exception $e)
【處理過程】:
1. 先後檢查表、字段、儲存過程的編碼方式,發現皆是utf-8。
2. 先後查詢關於phpmyadmin、mysql workbench等關於設定編碼格式的資料,未果。
3. 嘗試傳入freebsd上測試,結果顯示正常!!這難道和win7+iis7.5有關?十分不解
結果暫時在開啟連線串後加入以下三句以強制轉換,結果顯示正常,-_______-!!!!!等晚上在win7上裝個apache, 在測試下!
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");
c 呼叫帶輸出引數的儲存過程
c 呼叫帶輸出引數的儲存過程。先給出乙個例項,用 說話。首先在sql server中編寫乙個儲存過程 csharp view plain copy create procedure progetpwd username varchar 20 password varchar 20 output as...
9 呼叫http api的姿勢 帶引數呼叫
func callapi s selector.selector 使用生成的pb檔案中的結構體作為引數封裝到請求體中 var resp models.prodlistresponse 這裡使用生成的response物件,客戶端只需要傳入這個就可以了,無需關心服務端返回什麼格式,因為服務端已經用rpc...
執行帶輸出引數的儲存過程
declare msg varchar 100 exec submitinfo 34342 90782528352907 0,1,kf01 msg output select msg msg 為返回的資訊 儲存過程一部分 alter proc dbo submitinfo name varchar ...