这是我的目标1.我仅从服务器发送一个ID,其中用逗号分隔的字符串列表如下:ID = 1,名称= blue,red,green,yellow
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);
} ?>
这是我要在
表
ID类别下面实现的目标
1红色
1蓝色
1黑色
插入后
请帮助我不知道我做错了什么
当该SQL无效时,您永远不要关闭values
。爆炸也不会建立关联的数组。
如何构建有效的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, ',');
演示:https://eval.in/587840
当不确定数组如何构造print_r
或使用时var_dump
。当对mysqli中的查询有疑问时,请使用错误报告,http://php.net/manual/zh/mysqli.error.php。
同样,在当前用法中,您不接受SQL注入,但如果$myString
来自用户输入或您的数据库,则可以。您应该研究使用参数化查询。http://php.net/manual/en/mysqli.quickstart.prepared-
statements.php
。
我正在使用下面的PHP片段将数据回显到HTML页面。到目前为止,此操作正常,返回的结果如下例所示:value1、value2、value3、value4、value5, 我的PHP: 蒂姆,非常感谢你在这方面的帮助。
问题内容: 我有一个字符串,其中包含格式货币值(如)和多个值(以逗号分隔)。 我想提取并处理所有货币值,但无法为此找到正确的正则表达式,这是我尝试过的 输出为: 有人可以帮我这个吗? 问题答案: 您需要一个正则表达式“向后看” ,它匹配但确实消耗: 这是您现在可以使用的测试用例: 输出:
问题内容: 我有一个字符串,我正在尝试将其解析为一个数字。我尝试使用,结果为2。我猜逗号是问题所在,但我将如何以正确的方式解决此问题?只需删除逗号? 问题答案: 是的,删除逗号:
问题内容: 我需要在逗号处将字符串输入拆分为一个数组。 我该如何做到这一点? 输入: 问题答案: 尝试: 输出:
问题内容: 欲分割为4的阵列,以利用 这是我的代码: 但是,结果标记是一个空数组:[],而不是 我想要的4数组。 我已经测试过更改一点: 这次的结果标记为。这与我想要的接近,但是我真的不想在拆分之前添加此“ 1”。 问题基本上是,如果它仅包含空元素,它将返回一个空数组。 您能帮助解决问题吗? 问题答案: 您需要使用带有limit参数的重载方法。 从文档(重点是我的): limit参数控制应用图案的
问题内容: 我知道如果要将s 数组转换为a ,我可以这样做: 但我不知道如何将s 数组转换为逗号分隔 问题答案: 好吧,你可以这样做: