if(mysql_query("update products set products_price='".floatval($price[2])."' where products_id='".$rows[1]."';")){
echo "update products set products_price='".$price[2]."' where products_id='".$rows[1]."'".'<br />';
}else{
echo mysql_errno().'->'.mysql_error();
exit('end');
}
执行后是没有报错的,然后我到后台去查.记录没有被更新.我复制打印出来的sql语句 ,直接在phpmyadmin中运行,结果是成功的,记录值被改变的为什么在PHP中执行,不能更新记录了,真心求教!

解决方案 »

  1.   


    if(mysql_query("update products set products_price='".floatval($price[2])."' where products_id='".$rows[1]."'")){   //去掉后面的分号试试看
      

  2.   

    update products set products_price='15' where products_id='129069'
    这是打印出来的sql.语法没有错的.就是更新不了
      

  3.   

    用php直接执行
    mysql("update products set products_price='15' where products_id='129069'
    ")
    是可以修改数据的如果是带入参数,就不行了
    $sql="update products set products_price='".$price[2]."' where products_id='".$rows[1]."'"; mysql($str);//这样修改不了数据,也不报错,打印出来的sql直接运行,又是可以改变数据的
      

  4.   

    echo "update products set products_price='".$price[2]."' where products_id='".$rows[1]."'".'<br />';
    你这是输出那条语句,而不是执行这条语句
      

  5.   

    你确定使用到的变量在sql语句之前么
      

  6.   

    用mysql_affected_rows()这个查看是否更新成功,你那方法行不通。
      

  7.   

    代码不完整,不好判断
    估计是你sql句柄冲突造成的
    看你的代码我猜想是
    $result = mysql_query('select * from table')
    while(){
      if(mysql_query('update ....'))}
    改写
    $result = mysql_query('select * from table')
    $data = array();
    while(){
      $data[] = $row;
    }
    foreach($data as $r){
      if(mysql_query('update ....'))
    }
    最好你把完整的代码贴上来
      

  8.   

    直接寫mysql_query($sql)這樣能更新成個嗎?error_reporting(E_ALL);建議錯誤報告全開,這樣看的清楚。
      

  9.   


    貌似生成的 $sql 压根就没用到啊。紧跟着 mysql() 用的是 $str。