我有一个 代码 测试正常  
如下 
<?php
session_start();
include_once 'Taoapi.php';
include 'config.php';$sellernick=$_GET['nick']; 
$Taoapi_Config = Taoapi_Config::Init();
$Taoapi_Config->setCharset('UTF-8');$Taoapi = new Taoapi;$Taoapi->method = 'taobao.shop.get';
$Taoapi->fields = 'sid,cid,nick,title,pic_path';
$Taoapi->nick = $sellernick;
$Taoapi->outer_code = $_SESSION["dduserid"];
$TaobaokeData = $Taoapi->Send('get','xml')->getArrayData();
$sid=$TaobaokeData['shop']['sid'];
$cid=$TaobaokeData['shop']['cid'];
$nick=$TaobaokeData['shop']['nick'];
$title=$TaobaokeData['shop']['title'];
$pic_path=$TaobaokeData['shop']['pic_path']; $Taoapi->method = 'taobao.taobaoke.shops.convert';
$Taoapi->fields = 'click_url,commission_rate';
$Taoapi->sids = $sid;
$Taoapi->nick = MYUSERNICK;
$Taoapi->outer_code = $_SESSION["dduserid"]; 
$TaobaokeData2 = $Taoapi->Send('get','xml')->getArrayData();
$taobaokeItem2=$TaobaokeData2["taobaoke_shops"]["taobaoke_shop"]; 
$commission_rate= $taobaokeItem2["commission_rate"]*100;
$shopurl= $taobaokeItem2["click_url"]; $Taoapi->method = 'taobao.user.get';
$Taoapi->fields = 'user_id,nick,seller_credit,location';
$Taoapi->nick = $sellernick;
$TaobaokeData = $Taoapi->Send('get','xml')->getArrayData();
$city=$TaobaokeData["user"]["location"]["city"];
$state=$TaobaokeData["user"]["location"]["state"];
$level1=$TaobaokeData["user"]["seller_credit"]["level"];
$zf=$TaobaokeData["user"]["seller_credit"]["score"];
$hpl=round($TaobaokeData["user"]["seller_credit"]["good_num"]/$TaobaokeData["user"]["seller_credit"]["total_num"]*100,2);if(isset($shopurl))
{
$tzurl=$shopurl;}
else
{
$tzurl="/";
}
header("Location: ".$tzurl."");
?>现在 我想 改变代码 写入 mysql  怎么老是错误 且无法写入 求高手解决
<?php
session_start();
include_once 'Taoapi.php';
include 'config.php';$sellernick=$_GET['nick']; 
$Taoapi_Config = Taoapi_Config::Init();
$Taoapi_Config->setCharset('UTF-8');$Taoapi = new Taoapi;$Taoapi->method = 'taobao.shop.get';
$Taoapi->fields = 'sid,cid,nick,title,pic_path';
$Taoapi->nick = $sellernick;
$Taoapi->outer_code = $_SESSION["dduserid"];
$TaobaokeData = $Taoapi->Send('get','xml')->getArrayData();
$sid=$TaobaokeData['shop']['sid'];
$cid=$TaobaokeData['shop']['cid'];
$nick=$TaobaokeData['shop']['nick'];
$title=$TaobaokeData['shop']['title'];
$pic_path=$TaobaokeData['shop']['pic_path']; $Taoapi->method = 'taobao.taobaoke.shops.convert';
$Taoapi->fields = 'click_url,commission_rate';
$Taoapi->sids = $sid;
$Taoapi->nick = MYUSERNICK;
$Taoapi->outer_code = $_SESSION["dduserid"]; 
$TaobaokeData2 = $Taoapi->Send('get','xml')->getArrayData();
$taobaokeItem2=$TaobaokeData2["taobaoke_shops"]["taobaoke_shop"]; 
$commission_rate= $taobaokeItem2["commission_rate"]*100;
$shopurl= $taobaokeItem2["click_url"]; $Taoapi->method = 'taobao.user.get';
$Taoapi->fields = 'user_id,nick,seller_credit,location';
$Taoapi->nick = $sellernick;
$TaobaokeData = $Taoapi->Send('get','xml')->getArrayData();
$city=$TaobaokeData["user"]["location"]["city"];
$state=$TaobaokeData["user"]["location"]["state"];
$level1=$TaobaokeData["user"]["seller_credit"]["level"];
$zf=$TaobaokeData["user"]["seller_credit"]["score"];
$hpl=round($TaobaokeData["user"]["seller_credit"]["good_num"]/$TaobaokeData["user"]["seller_credit"]["total_num"]*100,2);if ($shopurl) {
$insert="insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');";
$db->query($insert);
header("Location: ".$shopurl."");
}else{
header("Location: http://taoke.alimama.com/tms/channel/channelmall.htm?pid=mm_".$myuserpid."_0_0");
}
?>

解决方案 »

  1.   

    话说,那个,我没看见sql语句啊,也行是你包含了,然后调用的方法吧。
    建议lz,用echo输出你的sql语句,如果你连接的数据库没错,那应该是你的sql语句错了,echo出来后看下、、
      

  2.   

    原先是  
    if(isset($shopurl))
    {
    $tzurl=$shopurl;}
    else
    {
    $tzurl="/";
    }
    header("Location: ".$tzurl."");
    ?>
    我换成 
    if ($shopurl) {
    $insert="insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');";
    $db->query($insert);
    header("Location: ".$shopurl."");
    }else{
    header("Location: http://taoke.alimama.com/tms/channel/channelmall.htm?pid=mm_".$myuserpid."_0_0");
    }
    ?>就不行了  求解决
      

  3.   


    $insert="insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');";echo $insert;exit;//输出后到数据库测试是否成功$db->query($insert);
      

  4.   

    $insert="insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');"; 去掉那个红色的分号试下 还是不行的 echo 这一句出来
      

  5.   


    测试 输出 
    insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('57533848','15','鏅撻濡传','NALA 娣樺疂鍖栧鍝佸悕搴? 鍥犳鍝佽€岄椈鍚?娆х編鏃ラ煩鎶よ偆鍝佸僵濡嗘壒鍙戜唬璐?,'/8c/36/T19FhNXdJLXXb1upjX.jpg','http://s.click.taobao.com/t_8?e=7HZ5x%2BOzdZND1xT4D1eL0gaKs08SYh8SzOMmIS0NiWmcs%2FxbW9mTkTnpXya23cXLCG%2FttE2L0GwpMAwVit9nQtQmGpwT&p=mm_15880592_0_0&n=19&u=12091616','1025','娴欐睙','鏉窞','15','345964','99.74');但是 数据库 没有数据
      

  6.   

    insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('57533848','15','鏅撻濡传','NALA 娣樺疂鍖栧鍝佸悕搴? 鍥犳鍝佽€岄椈鍚?娆х編鏃ラ煩鎶よ偆鍝佸僵濡嗘壒鍙戜唬璐?,'/8c/36/T19FhNXdJLXXb1upjX.jpg','http://s.click.taobao.com/t_8?e=7HZ5x%2BOzdZND1xT4D1eL0gaKs08SYh8SzOMmIS0NiWmcs%2FxbW9mTkTnpXya23cXLCG%2FttE2L0GwpMAwVit9nQtQmGpwT&p=mm_15880592_0_0&n=19&u=12091616','1025','娴欐睙','鏉窞','15','345964','99.74');少个单引
      

  7.   

    字符集问题,如果是utf8的就执行下句,如果是gbk的自己改吧。
    mysql_query(set names utf8)
      

  8.   


    $Taoapi_Config->setCharset('gbk');
    ...
    $insert="insert into `2taoke_shops` (`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');";
    //$db->query(set names gbk);//如果不行加这句
    $db->query($insert);
      

  9.   

    是这样的,我谈下我认为出问题的地方吧。
    我认为80%是字符集的问题。
    为什么呢,你看你输出的sql语句:'NALA 娣樺疂鍖栧鍝佸悕搴? 鍥犳鍝佽€岄椈鍚?娆х編鏃ラ煩鎶よ偆鍝佸僵濡嗘壒鍙戜唬璐?, VALUES('".$sid."','".$cid."','".$nick."','".$title."','".$pic_path."','".$shopurl."','".$commission_rate."','".$state."','".$city."','".$level1."','".$zf."','".$hpl."');变量形式的时候你的分号即'都是有的。但是为什么到输出的时候,最后那个分号不见了呢?乱码的最后应该是:唬璐?' 这种形式才对啊。
    最后的分号不是你没写,而且是因为字符集问题给转错了。没有这个分号sql自然就无法执行,然后报错了。现在来谈下解决方案:检查你发送内容页面以及接受页面的字符集是否正确,页面字符与数据库字符集能否一致。
    如果你保证这些都没有错。那继续以下操作:$insert="insert into `2taoke_shops` ";
    $insert.="(`sid`,`cid`,`nick`,`title`,`pic_path`,`click_url`,`commission_rate`,`state`,`city`,`level`,`score`,`good`) ";
    $insert.="VALUES('$sid','$cid','$nick','$title','$pic_path','$shopurl','$commission_rate','$state','$city','$level1','$zf','$hpl');";把sql改这样再执行一次
    还是不行?
    那么先echo下你的$title和$nick了。看是什么东西。乱码?
    那再做最后一步操作:$title= iconv('utf-8', 'gb2312', $title);
    还不行???跪倒地上祈祷老天爷吧。
      

  10.   

    看一下你的字段的数据类型 是 整型 单精度 双精度等数字类型的和bool型的 在insert 语句中values里所对应的值不需要加引号,而其他类型则需要加引号