在mysql里面如果字符串里面包含等号和&等特别的符号使用什么数据类型啊,我用char(50),数据输入到数据库里面等号和&&符号变成了百分号怎么解决啊
,就是说我现在要向数据库写入数据,但是等号和&&&符号写进去都变成了百分号,请问我数据库的存储字段该用什么类型,还是说我的别的地方出错了?????纠结............

解决方案 »

  1.   

    可能不是数据类型的问题,是函数的解析问题,唉,当提交的时间=====等号和&&&&符号变成了百分号,是数据录入时间出的问题吗,
    if(submitcheck('editsubmit')) { $weibo = htmlspecialchars(addslashes(trim($_G['gp_brand_weibo'])));
    if($brandname && $type && $local) {
    $id = DB::update('brand', array(
    'qqweibo' => $weibo,
    ), 
    if(!submitcheck('beasubmit')) {

    $_G['gp_qqweibo'] = trim($_G['gp_qqweibo']);
    if($_G['gp_qqweibo']) {
    DB::query("UPDATE ".DB::table('brand')." SET qqweibo='".daddslashes(urlencode($_G['gp_qqweibo']))."' WHERE bid='{$brand[bid]}'");
    }
    修改过的大概代码,就是那个qqweibo,请看看是不是数据库写入的时间出的问题帮我改下,谢谢
      

  2.   

    $weibo = addslashes(trim($_G['gp_brand_weibo']));另外,不知道 daddslashes 做了什么
      

  3.   

    你不是有urlencode()吗?  =变为 “%3D” 了。& 变成 “%26”.另外还不确定daddslashes 还做了什么?
      

  4.   

    非常感谢确实是urlencode()的问题,不怎么懂这个函数,我是改别人的代码的,结贴给分