首页 > 解决方案 > SQL错误,使用控制台后,php脚本?

问题描述

我正在尝试制作一个简单的网站,为了创建一个快速的数据库,我使用它的控制台,但是在创建它之后我收到一个错误,我不知道为什么。创建它的数据库代码是

    CREATE TABLE IF NOT EXISTS `login`.`users` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Llave unica',
  `user_name` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT 'user''s name, unique',
  `user_password_hash` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Contraseña',
  `user_email` varchar(64) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Mail',
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `user_name` (`user_name`),
  UNIQUE KEY `user_email` (`user_email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='user data';

在数据库上运行它之后,它创建了一切正常,但出现了一个错误,上面写着:

Warning in .\libraries\sql.lib.php#615
 count(): Parameter must be an array or an object that implements Countable

Backtrace

.\libraries\sql.lib.php#2128: PMA_isRememberSortingOrder(array)
.\libraries\sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'login',
string 'users',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `users`',
NULL,
NULL,
)
.\sql.php#219: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'login',
string 'users',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `users`',
NULL,
NULL,
)

有人知道为什么会这样吗?我正在使用 MAMP 进行测试

标签: phpsql

解决方案


该错误与您的数据库无关,您计算的东西count()不是数组。

无法知道您在计算什么,因为它不存在于您发布的内容中。

例如,此代码产生相同的确切错误:

$foo = true;     
count($foo);

在这里,我尝试对布尔值使用 count ,这显然是行不通的。

输出:

<br />
<b>Warning</b>:  count(): Parameter must be an array or an object that implements Countable in <b>[...][...]</b> on line <b>4</b><br />

沙盒


推荐阅读