我正在尝试使用插入值数组使用准备好的语句在数据库中定义一个SELECTin php。目前,我正在使用存储过程,我的代码看起来像这样:
$user_id = $user["id_user_key"];
$is_active = 1;
$stmt = $db->prepare("CALL spGetUserProducts(?, ?)");
$stmt->bind_param("ii", $user_id, $is_active);
$stmt->execute();
$result = $stmt->get_result();
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但在现阶段,我想摆脱我的存储过程和做所有的SQL中php
我将上面的代码更改为此:
$user_id = $user["id_user_key"];
$is_active = 1;
$stmt = $db->prepare(
"SELECT
tp.id_product AS id,
tp.product_name AS pname,
tp.product_code AS pcode,
tp.product_icon AS picon
FROM
tbl_user_products tup
INNER JOIN
tbl_products tp
ON tp.id_product = tup.id_product_fk
WHERE
tup.active = :isActive
AND tup.id_user_fk = :getUser"
);
$stmt->execute(array(
":getUser" => $user_id,
":isActive" => $is_active)
);
$result = …Run Code Online (Sandbox Code Playgroud) 我有以下json对象:
[{"i_value":"1","i_value_2":"1"},
{"i_value":"24","i_value_2":"24"}]
Run Code Online (Sandbox Code Playgroud)
然后我有以下循环:
let setData = [];
for (let i = 0; i < response.data.length; i++) {
if ('access key name' === 'i_value') {
setData.push(response.data[i].i_value)
}
}
setData = setData.map(Number);
console.log(setData);
Run Code Online (Sandbox Code Playgroud)
我只想setData在键名=== i_value不填充新数组时填充i_value_2
我尝试了以下方法:
let setData = [];
let keys = Object.keys(response.data);
for (let i = 0; i < response.data.length; i++) {
if (keys[i] === 'i_value') {
setData.push(response.data[i].i_value)
}
}
setData = setData.map(Number);
console.log(setData);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有什么想法吗?