gpt4 book ai didi

php - mysql_affected_rows 在成功查询时返回 False?

转载 作者:行者123 更新时间:2023-12-01 00:55:36 24 4
gpt4 key购买 nike

我很难解决这个 PHP/MySQL 问题。让我向您展示我的数据库,并说明我的情况:


创建表:

CREATE TABLE IF NOT EXISTS `users` (
`id` int(50) NOT NULL AUTO_INCREMENT,
`active` varchar(20) NOT NULL,
`activation` varchar(15) NOT NULL,
`firstName` longtext NOT NULL,
`lastName` longtext NOT NULL,
`passWord` longtext NOT NULL,
`changePassword` text NOT NULL,
`emailAddress1` longtext NOT NULL,
`emailAddress2` longtext NOT NULL,
`emailAddress3` longtext NOT NULL,
`role` longtext NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `name` (`firstName`,`lastName`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;

插入一个值:

INSERT INTO `users` (
`id` ,
`active` ,
`activation` ,
`firstName` ,
`lastName` ,
`passWord` ,
`changePassword` ,
`emailAddress1` ,
`emailAddress2` ,
`emailAddress3` ,
`role`
) VALUES (
NULL, '1000000000', 'abcdefghijklmno', 'John', 'Smith', '*24D7FB97963C40FE5C56A6672F9560FC8B681508', 'on', 'john@gmail.com', '', '', 'User'
);

更新一个值:

$affected = mysql_query(UPDATE users SET passWord = PASSWORD('a9eb42e1b3be829ef42972ea9abab334'), changePassword = 'on' WHERE emailAddress1 = 'john@gmail.com', $dbID); 

if (mysql_affected_rows($affected)) {
//Never runs
}

上面的 UPDATE 查询在我的脚本、phpMyAdmin 和 MySQL 终端中执行得很好。但是,mysql_affected_rows($affected) 总是 给我这个错误:

Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean given

我知道这意味着我的查询失败了,但每次进入数据库时​​,我都会看到值已更新。

从函数中删除参数似乎可以解决问题。但是,我宁愿将标识符作为函数参数,只是为了确定我指的是什么,以及代码保险。

知道为什么会这样吗?

感谢您的宝贵时间。

最佳答案

http://php.net/mysql_query

Return Values

...

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

和:

int mysql_affected_rows ([ resource $link_identifier = NULL ] )

这意味着 mysql_affected_rows 需要一个 mysql 连接资源作为参数。不是 mysql_query 的结果,如果该结果只是 truefalse,则肯定不是。你可以这样使用它:

$successful = mysql_query('UPDATE ...'); 

if ($successful) {
echo 'Affected rows: ' . mysql_affected_rows();
} else {
echo 'Fail: ' . mysql_error();
}

关于php - mysql_affected_rows 在成功查询时返回 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com