pdo 相关问题

PDO(PHP数据对象)是PHP的数据访问抽象层(接口)。它适用于大多数数据库系统。

使用PDO创建表

我对 php 和这个论坛非常陌生,所以请原谅任何错误或错误的问题。 在我提供的代码中,我只是想在数据库“mydb”中创建一个表。我测试了与...

回答 2 投票 0

如何在不更改 SELECT 查询的情况下仅选择 2 列?

我正在使用以下代码生成一个表: if ($arch = $pdo->prepare("从数字中选择一、二、三、四)) { $arch ->execute(); $data = $arch->fetchAll(); 回显“”; 我正在使用以下代码生成一个表: if ($arch = $pdo->prepare("SELECT one, two, three, four FROM numbers)) { $arch ->execute(); $data = $arch->fetchAll(); echo '<table>'; foreach ($data as $row){ echo '<tr>'; foreach ($row as $col){ $col=nl2br($col); echo '<td>'.$col.'</td>'; } echo '</tr>'; } echo '</table>'; } } 这将填充一个包含 4 列的表格。 如何在不更改 SELECT 查询的情况下仅选择 2 列? 换句话说,我如何选择要填充表的列?例如我只想使用“三”和“四”... 我读到了关于fetchAll(PDO::FETCH_COLUMN, 0)的内容,但这似乎只选择了一列。 fetchColumn()也是如此。我想选择多个列,这样我就可以只用我需要的列填充我的表。 只需在第二个 foreach 上添加一个选择器,即可过滤所需的列: .... foreach($row AS $col => $value){ if($col == 'your_column_name'){ echo '<td>'.nl2br($value).'</td>'; } } .... 确保您的“fetchmode”处于关联状态,这确保 pdo-result 对象包含带有键索引的关联数组。 $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); 或者,您可以预先将所需的列指定为数组,然后迭代该数组而不是行中的列。 $columns = array('I_like_this_column', 'this_one_too'); foreach ($columns as $colName) echo '<td>' . nl2br($row[$colName]) . '</td>'; 这还有一个额外的优点,即让您可以指定列在输出中出现的顺序,而无需更改查询。 并且,与@stUrb的答案一样,您需要打开PDO::FETCH_ASSOC才能正常工作。

回答 2 投票 0

Laravel - 在 Spatie 中发布供应商类 Spatie\MediaLibrary\Models\Media 以使用 MongoDB 进行配置

这里我在 Spatie\MediaLibrary\Models\Media 路径有一个 Media 类。它正在使用此代码创建 PDO 问题。 Media 类扩展 Model 实现 Responsable、Htmlable 所以我在那里尝试了这个...

回答 1 投票 0

指定用户不存在时,PDO 连接不会返回错误

我正在开发一个配置界面,客户端必须在其中指定数据库参数(主机、用户、密码、数据库)。 尝试{ $c = new PDO('mysql:host='.$_POST['database_host'].';charset=utf-8', $...

回答 2 投票 0

PHP PDO 的prepared语句如何防止sql注入?使用 PDO 还有哪些其他好处?使用PDO会降低效率吗?

我发现了“PHP PDO 的预准备语句可防止 SQL 注入”这句话。 php PDO(PDO 的准备语句)如何防止 sql 注入? 还有什么其他优点/缺点...

回答 3 投票 0

我可以取回 MySQL 表中列名的默认值吗? [重复]

我可以获取表的列名称,但是有没有办法检索每列的默认数据值? 这是我用来获取表列名称的方法: $q = $dbh->查询("描述

回答 3 投票 0

我可以通过单个请求获取 INSERT/UPDATE id 吗?

我有以下代码: $put_tag_rq = $DBH->准备(“ 插入“标签” 放 `名称` = :名称 关于重复密钥更新 `id` = `id` ”); $put_tag_rq->执行(数组( “名字”=...

回答 1 投票 0

SQL 查询更新商品数量

我正在尝试使用所选的新数量更新表格,但是当我运行以下函数时,出现此错误: 致命错误:未捕获的 PDOException:SQLSTATE[HY093]:无效参数...

回答 1 投票 0

php 准备好的语句带有重复键更新 - 访问原始值(如果有的话)进行条件测试?

我遇到了一个独特的情况,我不确定这是否可能。 我需要访问 update 的原始值(如果有)并将其传递给函数以确定是否保留

回答 1 投票 0

PDO 更改了 PHP 8 中 PDO 自动事务的行为

我最近遇到了一些我有一段时间没有碰过的代码,但想运行它。尽管我几乎确定它曾经有效,但它失败了。于是我调查了一下,结果发现:是反式的...

回答 1 投票 0

PDO 绑定参数与执行

我经常看到使用bindParam 或bindValue 与PDO 的代码。 简单地传递参数来执行是否会因任何原因而被拒绝? 据我了解,bindParam 实际上绑定到变量,并且...

回答 3 投票 0

出现错误 SQLSTATE[HY000] [2002] NAS Synology 上的连接被拒绝

我正在制作一个正在建设中的页面,该页面托管在我的 Synology NAS 上。 访问者可以使用电子邮件订阅并在网站可用时收到通知。 我的数据有问题...

回答 7 投票 0

使用 PHP PDO 从 PostgreSQL 表导出 .csv 文件(带标题),第一个数据行丢失

抱歉这个问题可能很简单,但总的来说我对 PHP 和 SQL 很陌生。 我正在尝试使用 PHP PDO 从 PostgreSQL 表导出 CSV 文件。一切都工作正常...

回答 2 投票 0

将列名称导出到 CSV

我希望能够将表列的名称与查询结果一起导出到 .csv 文件中。 我找到了一些使用 mysql_ 的例子,但我希望有人能帮助我......

回答 2 投票 0

使用 php pdo 将数据库中的数据插入到 csv 文件中

我正在尝试将从数据库中选择的数据插入到 csv 文件中。我被困在这里,不知道为什么它不起作用。它让我不断给出这样的文件: 由于某种原因,它放置了该列

回答 1 投票 0

将数组传递到 CodeIgniter query() 调用中以在 WHERE IN() 条件中使用

我正在尝试将数组传递给具有查询的模型。我不确定如何正确传递数组,或者是否必须以某种方式操作数组。 我有这个数组: 大批 ( [0] => 1 [...

回答 3 投票 0

PDO 分页语法违规错误

有人可以检查一下我下面的脚本有什么问题吗? 我收到“PHP 致命错误:未捕获异常 'PDOException',消息为 'SQLSTATE[42000]:语法错误或访问冲突:106...

回答 1 投票 0

使用两个表列以关联数组形式获取 PDO 结果[重复]

我正在尝试将数据库中的数据存储在数组中。 打印数组后,我需要这样的东西: 数组 ( [ABBA] => ?search=ABBA [ACDC] => ?search=ACDC [黑桃 A] => ?sea...

回答 2 投票 0

仅显示 PDO 结果集的一列[重复]

我正在尝试显示“名称”对象,但它不起作用。我似乎使用了 foreach 错误。我 print_r for $a 并显示了数组。有人可以帮忙吗。 公共函数产品(){ ...

回答 2 投票 0

PHP - 无法访问字符串上字符串类型的偏移量

我对 PHP 有点陌生,不太理解在文本上使用括号语法的概念。现在我正在尝试连接到我的数据库: 数据库.php: 我对 PHP 有点陌生,不太理解在文本上使用括号语法的概念。现在我正在尝试连接到我的数据库: 数据库.php: <?php class Database { public $conn; public function __construct($config) { $dsn = "mysql:host={$config['host']};port={$config['port']}; dbname={$config['dbname']}"; $options = [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ]; try { $this->conn = new PDO($dsn, $config["username"], $config["password"], $options); echo 'connected'; } catch (PDOException $e) { throw new Exception("Database connection failed: {$e->getMessage()}"); } } } 这是我不断收到的错误: 显然错误来自第 8 行,我在其中启动了 $dsn 变量。据说 $config 变量有问题,所以我注释掉了所有内容并回显了 $config 的值。当我这样做时,我得到了 "Jack" 的值,这很奇怪,因为 $config 应该是一个数组,而 Jack 应该是键/值对之一的一部分。 这里是config.php: <?php return [ 'host' => 'localhost', 'port' => '3306', 'dbname' => 'workophia', 'username' => 'Jack', 'password' => '123456' ]; 为什么 $config = "Jack" & 的值不是数组?我相信我在这里找到了答案,但我仍然不太明白我正在读的内容我的问题的可能答案。 如果有一点帮助,我们将不胜感激。 差点忘了添加index.php: <?php require '../helpers.php'; require basePath('Database.php'); $config = require basePath('config/db.php'); $db = new Database($config["username"]); require basepath('Router.php'); $router = new Router(); $routes = require basepath('routes.php'); $uri = $_SERVER['REQUEST_URI']; $method = $_SERVER['REQUEST_METHOD']; $router->route($uri, $method); 在第 7 行的 index.php 中,我只需从 $config 实例中删除 ['username']。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.