mysql update语句运行无错误但是没有更新

<?php
$link = mysql_connect("localhost", "root", "20050608");
mysql_select_db("leenkon", $link);
$result = mysql_query("SELECT * FROM jzjy where qqnum='109914256' order BY 'times' DESC", $link);
$num_rows = mysql_num_rows($result);
$row = mysql_fetch_array($result);
echo "共计".$num_rows."行结果<br />\n";
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
if (!mysql_data_seek($result, $i)) {
echo "Cannot seek to row $i: " . mysql_error() . "\n";
continue;
}
if (!($row = mysql_fetch_assoc($result))) {
continue;
}
$j=intval($i);
$a=mysql_query("UPDATE jzjy SET ids='$j' where qqnum='109914256'");//这一句目的是将表中的一个字段ids修改为$i的值,程序没有报错。。。但是没有更新成功
echo $row['id'] . ' ' . $row['ids'] . "<br />\n";
echo $a;
}

mysql_close($link);

?>

ids或者qqnum在你数据库是什么类型的字段名?
要是字符型(varchar,char等),单引号是对的

要是整形(int等)型就不对了,整形是不用引号的。

执行没有错不代表SQL语句没错

你可以这样写:
<?php
//上面程序略...
$a=mysql_query("UPDATE jzjy SET ids='$j' where qqnum='109914256'");
//执行
if($a)//执行成功
echo '修改成功'.'<br>';
else//否则
echo '对不起,修改失败,出错信息是:'.mysql_error().'<br>';
//提示mysql_query的报错信息,你自己根据信息找错误,不然可以问我
//..下面程序略...
?>
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-11
ids 原来的值是什么?0?如果是0,这次$j=intval($i);的$j也是0的话,就会没有更新到,你可以输出SQL看看是否正确
echo "UPDATE jzjy SET ids='$j' where qqnum='109914256'";
exit();追问

UPDATE jzjy SET ids='3' where qqnum='109914256'
UPDATE jzjy SET ids='2' where qqnum='109914256'
UPDATE jzjy SET ids='1' where qqnum='109914256'

输出来的结果是这样的,说明是没有错的呢

第2个回答  2011-08-16
没有"事务提交"吧!!

解决MySQL无响应问题为什么MySQL一直不执行mysql一直不执行
可能是查询语句的问题。如果查询语句不正确,MySQL无法正确执行它并返回结果,从而导致无响应。快速检查查询语句,确保语句无误,可以帮助解决这个问题。3.查询太复杂 查询非常复杂也有可能导致MySQL无法响应查询。如果查询需要在大型表上运行,MySQL可能需要很长时间才能检索结果。在这种情况下,我们需要对查询...

如何解决MySQL查询不显示结果问题mysql不显示结果
MySQL查询不显示结果的另一个原因可能是由于数据库连接问题。在有些情况下,客户端无法从服务器上检索数据,可能是由于没有正确连接到服务器的原因。为此,需要检查MySQL服务器是否正在运行,并确保已经打开了正确的端口。此外,还可以使用ping命令检查服务器是否可达。4. 检查查询语句的执行时间 有时查询语...

代码配置都没问题,为什么事务不回滚(了解Mysql数据库引擎)
下面是Mysql数据库常见的几种引擎的说明,可以了解一下,下次再创建表我们就可以选择合适引擎了。ISAM:索引顺序访问法(Index Sequential Access Mode)ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,...

update语句有什么用?
执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。因为可能会对所有的数据造成影响。在 MySQL 中可以通过设置。sql_safe_updates 这个自带的参数来解决,当该参数开启的情况下,你必须在update 语句后携带 where 条件,否则就会报错。

解决MySQL中常见的Error问题mysql中error
这个错误通常是由于在SQL查询中出现了语法错误导致的。对于这种问题,最好的解决方法是检查SQL语句,以确保其格式、拼写和语法都正确。例如,如果我们要向MySQL中插入一条新数据,可以使用以下代码:INSERT INTO `table_name` (`column1`, `column2`, `column3`) VALUES (`value1`, `value2`, `...

为什么在MySQL数据库中建立检查约束不成功呢,语句是这样的
这是一项新功能,用于指定在插入或更新到一行之前检查值的条件。如果表的任何行的搜索条件的结果为 FALSE,则约束可能返回错误(但如果结果为 UNKNOWN 或 TRUE,则约束不会返回错误)。此功能开始在 MySQL 8.0.16 上运行,在以前的版本中,我们可以创建它,但它不起作用,这意味着支持语法,但不起...

我在批处理文件中写的对mysql进行操作的语句,只有第一行运行是为什么是...
当执行了mysql -u root -pabc的时候,是直接进入mysql shell,无法执行后面的命令,需要你退出才行,输入exit;所以,你的bat需要改一下:mysql -u root -pabc --execute="grant select ,insert ,update , delete on*.*to user4@'%' indentified by'abc';flush privileges;"mysql -u ...

如何解决MySQL服务启动错误5mysql服务启动错误5
一旦确定了MySQL无法启动的原因,我们可以开始解决错误5。要解决这个错误,需要修改MySQL的用户登录权限,可以使用以下的SQL语句来限制用户的登录权限:update mysql.user set host=’127.0.0.1′ where sizeuser=’用户名’;如果运行上述语句后MySQL仍然无法启动,可以试着尝试重开...

MySql提示 You have an error in your SQL syntax; 但是我却插入成功了...
回答:如果插入成功肯定不是数据库本身出错,有可能是你的mysql数据库操作的客户端问题

MySQL无法打开数据库怎么办?
update语句错误。在服务运行目录找到my.ini或者my.cnf文件,打开文件,找到[mysqld]在下面增加一行 lower_case_table_names=1 (0:大小写敏感;1:大小写不敏感)重启MySQL服务

相似回答