相关疑难解决方法(0)

PHP:如何使用array_filter()过滤数组键?

回调函数array_filter()只传递数组的值,而不传递键.

如果我有:

$my_array = array("foo" => 1, "hello" => "world");

$allowed = array("foo", "bar");
Run Code Online (Sandbox Code Playgroud)

删除$my_array不在$allowed数组中的所有键的最佳方法是什么?

期望的输出:

$my_array = array("foo" => 1);
Run Code Online (Sandbox Code Playgroud)

php arrays key

338
推荐指数
7
解决办法
23万
查看次数

如何将行数组传递给PDO以插入它们?

我想使用PDO预处理语句,但我觉得打字非常耗时.如果有一个函数只传递以下关联数组,那将是非常有用的:

array(
"title"=>$title
"userid"=>$userid
"post"=>$body
)
Run Code Online (Sandbox Code Playgroud)

请记住,数组中的键始终与SQL表中的行匹配.重新考虑一切,这应该切断:foo在execute函数中键入并再次键入它们的努力.

我特别谈到INSERT查询.

怎么做?

php mysql pdo

5
推荐指数
1
解决办法
5865
查看次数

如何在 PDO(或 MySQLi)查询中正确处理关联数组?

我正在使用 MySQLi 进行项目(但可以轻松切换到 PDO,请阅读底部的编辑)。我想要的是能够将关联数组处理为 mysql 查询,而无需手动输入每个键/值对。我知道这可能很简单,但当涉及到 MySQLi/PDO 时,我仍然处于学习过程中。为了清楚地说明我的意思,这里有一个例子:

假设我有这个关联数组:

$data = array(
    'name' => 'Objective',
    'short_name' => 'OB',
    'generation' => 1
);
Run Code Online (Sandbox Code Playgroud)

我想要的是创建一个像这样的查询:

UPDATE signals SET ? = ? WHERE sid = '1'
Run Code Online (Sandbox Code Playgroud)

它变成这样的查询(或者代替 UPDATE、INSERT、SELECT 等):

UPDATE signals SET
    name = 'Objective', 
    short_name = 'OB', 
    generation = 1 
WHERE sid = '1'
Run Code Online (Sandbox Code Playgroud)

所以基本上我的问题是:这对于 MySQLi 或 PDO 本身是否可能?如果可能的话我该怎么做?我读过关于执行前准备语句的内容,但它还没有吸引我。希望有人可以帮助我。

编辑:我还处于该项目的早期阶段,所以我也可以使用 PDO,但同样的问题仍然存在。我确实研究了 PDO 和 mysqli,但我也不知道如何使用 PDO 来做到这一点。因此,为了解决这个问题,我将添加 PDO 作为标签和问题。

php mysqli pdo prepared-statement

3
推荐指数
1
解决办法
4490
查看次数

标签 统计

php ×3

pdo ×2

arrays ×1

key ×1

mysql ×1

mysqli ×1

prepared-statement ×1