PHP:将分隔的逗号字符串值与多个数组值插入到 MySql 中

2023-12-07

这是我的目标 1. 我只有一个从服务器发送的 ID,其中包含以逗号分隔的字符串列表 它看起来像这样:ID=1,名称=蓝色,红色,绿色,黄色 2.这是我的尝试: 2.1 我尝试使用此代码将名称更改为数组

$myString = "Red,Blue,Black";
$myArray = explode(',', $myString); 

2.2 我尝试这样插入:

$sql="INSERT INTO `cat_interest`(`id`,`categories`) VALUES (1,'".$myArray["categories"]."'";
            if (!$result = $mysqli->query($sql)){
                    $message = array('Message' => 'insert fail');
                    echo json_encode($message);         
            }else{             
                    $message = array('Message' => 'new record inserted');
                    echo json_encode($tempArray);     
            }

这是我的完整代码视图

 <?php
define('HOST','serveraddress');
define('USER','root');
define('PASS','pass');
define('DB','dbname');
ini_set('display_errors',1);
//ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

            $mysqli = new mysqli(HOST,USER,PASS,DB);
    $message= array();      
        $myString = "Red,Blue,Black";// incoming string comma names
        $myArray = explode(',', $myString); 

       $sql="INSERT INTO `cat_interest`(`id`,`categories`) VALUES (1,'".$myArray["categories"]."'";
                if (!$result = $mysqli->query($sql)){
                        $message= array('Message' => 'insertion failed');
                        echo json_encode($message);         
                }else{             
                        $message= array('Message' => 'new record inserted');
                        echo json_encode($message);   
                } ?>

这就是我想在下面实现的目标
TABLE
ID     类别
1        红色
1        蓝色
1        黑色

插入后

请帮助我不知道我做错了什么


虽然该 SQL 无效,但您永远不会关闭values。 Explode 也不构建关联数组。

如何构建有效的 SQL 语句的一个粗略示例是

$myString = "Red,Blue,Black";// incoming string comma names
$myArray = explode(',', $myString); 
print_r($myArray);
$sql = "INSERT INTO `cat_interest`(`id`,`categories`) VALUES";
foreach($myArray as $value){
    $sql .= " (1, '{$value}'),";
}
$sql = rtrim($sql, ',');

Demo: https://eval.in/587840

当对数组的构造使用方式有疑问时print_r or var_dump。当 mysqli 中的查询出现问题时,使用错误报告,http://php.net/manual/en/mysqli.error.php.

另外,在您当前的使用情况下,您不会接受 SQL 注入,但如果$myString来自用户输入,或者您可能是您的数据库。您应该考虑使用参数化查询;http://php.net/manual/en/mysqli.quickstart.prepared-statements.php.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:将分隔的逗号字符串值与多个数组值插入到 MySql 中 的相关文章

随机推荐

  • 是否可以用交替的垂直列填充 DataGridView?

    我需要显示混合 硬编码 字符串和数据库中的数据的数据 具体来说 每个偶数列都包含不是来自数据库的字符串值 每个奇数列都包含数据 例如 第 1 列将包含数据库中的值 1 到 12 因此前两列看起来像这样 并且相同的模式重复多次 00 00 B
  • 如何修复nodejs抛出错误; ^ 错误:ENOENT:没有这样的文件或目录,请打开

    这就是我的输出的样子 我从以前的类似问题中用尽了很多方法 但没有一个对我的情况有效 我对 Node js 非常陌生 所以任何建议都会非常有帮助 C Users pushp Desktop factor gt snarkjs help int
  • Renderscript c风格指针使用性能问题

    在渲染脚本中 我使用绑定指针来迭代大图像 问题在于数组访问性能 for int i 0 i lt channels i sum input i input size mulValue 例如 当 input size 为 12288 时 完成
  • Cocoa 中的 XML-RPC 服务器

    我需要在 iPhone 上创建一个 XML RPC 服务器用于测试目的 有我可以利用的图书馆吗 查看eczarny xmlrpc在 github 上 它带有一个测试服务器
  • 在 Java 中何时使用列表而不是数组?

    在Java中 什么时候优先使用List而不是Array 我认为这个问题是相反的 什么时候应该使用数组而不是列表 只有您有特定的理由才这样做 例如 项目限制 内存问题 这并不是一个很好的理由 等 列表更容易使用 我认为 并且具有更多功能 注意
  • 通过 IoC 将依赖项提供给工厂类?

    我有一个工厂类 它决定应该实例化并返回四个可用子类中的哪一个 正如您所期望的 所有子类都实现相同的接口 public static class FooFactory public IFoo CreateFoo FooEnum enum sw
  • 如何使用 html/css 应用不透明度而不影响子元素?

    我想使用 html 和 css 来实现这一点 我尝试将容器的不透明度设置为 0 3 将盒子的不透明度设置为 1 但它不起作用 两个 div 的不透明度均为 0 3 我在这里尝试的 jsFiddle 我想要实现的效果是页面顶部出现一个弹出框
  • 使用numpy.random.normal时如何指定上限和下限

    我希望能够从只落在 0 和 1 之间的正态分布中选取值 在某些情况下 我希望能够基本上返回完全随机的分布 而在其他情况下 我希望返回落在 0 和 1 之间的值高斯的形状 目前我正在使用以下功能 def blockedgauss mu sig
  • 休息 - 404 未找到

    我正在使用 ColdFusion 10 的 RESTful Web 服务 首先 我通过 CF admin 注册了一个休息服务 C ColdFusion10 cfusion wwwroot restful 并将其命名为 IIT 现在 我有 C
  • 如何在JMeter中修改/添加Cookie?

    我对 JMeter 非常陌生 需要您帮助我了解如何修改 cookie 这是场景 我正在测试一个提供多个问题答案的评估 考试网站 当用户做出选择并点击提交按钮时 页面中的 JavaScript 会将其答案 例如 Answers BBAACDA
  • 何时使用定义

    我对测试参数的方式有点困惑 以下是下面发布的源代码中的两个示例 首先是这个 if defined DBHdl defined acct no 测试未定义参数的方法 其次 分配给 hashref 后 ptMtrRecRef ptSelHdl
  • 实施 Barabasi-Albert 方法来创建无标度网络

    我正在尝试实现一个非常简单的优先附件算法来创建无标度网络 它们的度分布遵循幂律 即 P k k g 其中 g 是指数 下面的算法应该产生指数等于 3 0 1 的度分布 但我的实现并不使指数更接近 2 5 0 1 我显然在某些地方不理解并且继
  • Java方法不改变参数对象[重复]

    这个问题在这里已经有答案了 我有一个这样的函数 public static int partition List list ListElement elemL ListElement elemR ListElement elemX elem
  • 如何在 jQuery 中仅选择标签之外的文本

    我正在尝试实施文本突出显示搜索脚本在客户的 WordPress 网站上 该脚本对网页中的原始 HTML 数据执行正则表达式搜索 将 span 标签 css 元素添加到与查询匹配的文档的任何部分 但是 我正在尝试搜索一些多级 HTML 标头等
  • 带参数的 PHP 标头位置

    是否可以将参数附加到 PHP 标头位置 我无法让它发挥作用 这种语法实际上是允许的吗 qry SERVER QUERY STRING header Location http localhost blast v2 qry 它只是不会用它的实
  • R Shiny 将来自多个动态生成的 textAreaInput 字段的用户输入存储在服务器部分的对象中

    New to shiny并为此苦苦挣扎了两天多 我创建了一个用户加载的应用程序 csv数据文件并选择一个或多个变量 其名称在应用程序中显示为复选框 当选中一个复选框时 一个新的复选框会出现在同名的下方 当它被单击时 一个新的复选框也会出现在
  • Junit/Fongo:如何在单元测试中使用 Fongo 来检查 NotNull

    我正在编写一个基本单元测试 检查返回的查询 DataVersion 类型 是否不为空 我必须确保我正在使用 Fongo 来测试我的数据库 这是回购类 Repository public class DataVersionDaoMongo e
  • 我可以将 Maven 属性中的列表传递到插件配置中吗

    我有一个插件 它在其配置中包含一个列表
  • List.Add() 的问题仅保存最后添加的项目[重复]

    这个问题在这里已经有答案了 我注意到的问题是这行代码 tempList Add orderables 在此完整代码中 AssociatedComboItems ai new AssociatedComboItems List
  • PHP:将分隔的逗号字符串值与多个数组值插入到 MySql 中

    这是我的目标 1 我只有一个从服务器发送的 ID 其中包含以逗号分隔的字符串列表 它看起来像这样 ID 1 名称 蓝色 红色 绿色 黄色 2 这是我的尝试 2 1 我尝试使用此代码将名称更改为数组 myString Red Blue Bla