【问题标题】:could not find driver (SQL: select user_id找不到驱动程序(SQL:选择 user_id
【发布时间】:2019-01-03 12:31:58
【问题描述】:

我收到了这个错误

找不到驱动程序 (SQL: select user_id... ]

我查看了其他相关问题并尝试了建议,但仍然遇到同样的错误。

我的 PHP.ini 有 extension=php_pdo_mysql.dll

我添加了"doctrine/dbal": "^2.5",

我也尝试过清除缓存、配置、转储自动加载等。

phpinfo() 显示没有 PDO 驱动程序。

以前我的 phpstorm 指向一个没有启用 extension=php_pdo_mysql.dll 的 PHP 安装,但即使将它指向正确的 PHP 文件夹,我仍然遇到同样的错误。

【问题讨论】:

  • 您是否正在尝试在connect 调用中运行查询?向我们展示产生此错误的代码。
  • phpinfo() shows there are no PDO drivers. 你需要用 PDO 驱动配置你的 PHP 解释器
  • 您还应该向我们展示您生成此错误的代码。它抱怨驱动程序并显示选择查询看起来很奇怪。如果您没有驱动程序,则在您进行任何查询之前,连接时会发生错误。
  • 您必须在 SQL Query 中使用 implode 的 implode 中没有数据,并且 implode 数据必须为空。
  • 成为会员 8 年并拥有 8k 的代表,您应该知道how to create a Minimal, Complete, and Verifiable examplehow do I ask a good question。如果没有导致这种情况的代码,我们将不知道会发生什么以及为什么会发生。

标签: php mysql windows laravel


【解决方案1】:

您需要先安装 PDO 驱动程序,如果它没有解决您的问题,那么下面是我之前遇到的问题,也许会有所帮助。

sudo apt-get install php5.6-mysql/php7.2-mysql

您也可以搜索其他数据库系统。

您也可以搜索驱动:

sudo apt-cache search drivername

然后运行 ​​cmd php artisan migrate

你也可以试试:

sudo apt-get install php-sqlite3

还要检查 php-cli 的路径

如果可以,请运行:

composer update

composer require doctrine/dbal

您似乎缺少依赖项

编辑:

您可能需要在 php.ini 文件中注释掉以下内容。

;extension=pdo_mysql.so

取自这篇文章:Laravel 5 PDOException Could Not Find Driver。我想在数字海洋上设置 laravel 时我必须做类似的事情。

在 SQL 代码内爆的代码中必须有这样的查询。检查变量 $mistakeIdArr 不应为空。

 $sql = "Select * from `mistake` where `id` in (".implode(',',$mistakeIdArr).")";

我还检查了我的代码是否启用了 PDO

if (extension_loaded('pdo')) { echo "pdo enable";die; }else{ echo "not enable";die;}

【讨论】:

  • 查询如何生成“找不到驱动程序”错误?
  • 这就是我分享解决方案的原因。因为查询部分的内爆。
  • 这很可能不会给你那个错误。 AFAIK,“找不到驱动程序”是在未安装驱动程序的情况下尝试连接数据库时发生的错误。这是在您进行任何查询之前的方式。问题中没有足够的信息让我们能够写出一个绝非疯狂猜测的答案。
  • 我知道,但它也是因为后来内爆。
  • 我并不是说您不正确,但出于好奇,您能否举一个简单的查询示例来给出该特定错误消息?除了连接问题,我从未见过它。
猜你喜欢
  • 2017-05-28
  • 2018-12-29
  • 1970-01-01
  • 2019-07-17
  • 2017-02-13
  • 2016-07-14
  • 2016-08-05
  • 2016-09-03
相关资源
最近更新 更多