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中执行,不能更新记录了,真心求教!
if(mysql_query("update products set products_price='".floatval($price[2])."' where products_id='".$rows[1]."'")){ //去掉后面的分号试试看
这是打印出来的sql.语法没有错的.就是更新不了
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直接运行,又是可以改变数据的
你这是输出那条语句,而不是执行这条语句
估计是你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 ....'))
}
最好你把完整的代码贴上来
貌似生成的 $sql 压根就没用到啊。紧跟着 mysql() 用的是 $str。