php - 通过 JSON 将分隔字符串发送到 PHP 以获取准备好的语句

标签 php mysql json delimiter

例如我发送以下 ID:

$user->id = '1{3}4{5}6';

代表:

$user->id(=1{3}4{5}6){$option(=3)}$value(=4){$option(=5)}$value(=6)

我现在需要使用准备好的语句为每个 $option 和 $value 对插入数据库。

sql 如下所示:

    if ($user->attr == 1) {

    $sth = $this->dbh->prepare("insert into customers_basket_attributes 
            (customers_id,
             products_id, 
             products_options_id, 
             products_options_value_id) 
             values ('1', ?, ?, ?)");
    $sth->execute(array($user->id, $option, $value));       
    return json_encode(1);
    }

我想避免每次数据库插入时都回退到 jQuery。

最佳答案

据我了解,这个 $user->id = '1{3}4{5}6'; 分解:

Product_id = 1
Option_3 = 4
Option_5 = 6

并且您希望将其存储到如下记录中:

products_id products_options_id products_options_value_id
1           3                   4
1           5                   6

从我的角度来看,您基本上需要与上面的行一样多的插入。您可以将其合并到一个包含多行的插入中:

insert into customers_basket_attributes 
        (customers_id,
         products_id, 
         products_options_id, 
         products_options_value_id) 
         values (nn, 1,3,4),(nn, 1,5,6)

将其放入准备好的语句中以某种方式摆弄数组,但应该是可以实现的。可能更清楚的是,每行只发出一个插入,无论如何,成本都是微乎其微的。

关于php - 通过 JSON 将分隔字符串发送到 PHP 以获取准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21916800/

相关文章:

php - 通过不可靠的网络连接在 MySQL 和 SQL Server 之间同步数据

java - preparedStatement 和 resultSet 接口(interface)如何使用 batch 和 get 方法

java - 将第二个json对象添加到java中的同一个json数组中

javascript - 使用 ng-repeat 读取 JSON AngularJs 中的嵌套数组

javascript - 合并多个json对象

PHP 填充按钮 onclick 问题

用于计算访问次数和重定向的 PHP Session if (session ['visits' ]=1)

php - 使用 bind_param() 函数添加多行

mysql - 在条件对列表的子句中

mysql - 获取具有相同 mid 的其他 user_ids