无法从PHP脚本在MySQL中插入数据
我正在尝试使用下面的代码在MySQL数据库中插入json数据,但是得到的值像Array[0][0],0.000等等。有人能建议一个解决方案吗 变量中的值是正确的,因为回音输入循环正在浏览器中显示正确的值 谢谢 [编辑] “add”的数据类型是varchar,对于“SN”,“imm”的int和rest都是double [/编辑]无法从PHP脚本在MySQL中插入数据,php,mysql,Php,Mysql,我正在尝试使用下面的代码在MySQL数据库中插入json数据,但是得到的值像Array[0][0],0.000等等。有人能建议一个解决方案吗 变量中的值是正确的,因为回音输入循环正在浏览器中显示正确的值 谢谢 [编辑] “add”的数据类型是varchar,对于“SN”,“imm”的int和rest都是double [/编辑] for($x=0; $x<$totaladdress; $x++) { echo $x; echo "<br>add="; echo $json_a[r
for($x=0; $x<$totaladdress; $x++)
{
echo $x;
echo "<br>add=";
echo $json_a[report][$x][0];
$sql = "INSERT INTO `report`.`tempmain` (`SN`, `add`, `last`,`imm`, `lastH`, `pa`, `unex`, `meg`, `bi`, `re`) VALUES (NULL, '$json_a[report][$x][0]','$json_a[report][$x][1][last]', '$json_a[report][$x][1][imm]', '$json_a[report][$x][1][lastH]', '$json_a[report][$x][1][pa]', '$json_a[report][$x][1][unex]', '$json_a[report][$x][1][meg]', '$json_a[report][$x][1][bi]', '$json_a[report][$x][1][re]');";
$result=mysql_query($sql);
}
$x=0;$x的
正在以数组形式插入$json\u a
,而不解释其余部分。请尝试:
$sql = "INSERT INTO `report`.`tempmain` (`SN`, `add`, `last`,`imm`, `lastH`, `pa`, `unex`, `meg`, `bi`, `re`) VALUES (NULL, '".$json_a['report'][$x][0]."','".$json_a['report'][$x][1]['last']."', '".$json_a['report'][$x][1]['imm']."', '".$json_a['report'][$x][1]['lastH']."', '".$json_a['report'][$x][1]['pa']."', '".$json_a['report'][$x][1]['unex']."', '".$json_a['report'][$x][1]['meg']."', '".$json_a['report'][$x][1]['bi']."', '".$json_a['report'][$x][1]['re']."');";
也就是说,不是做:
$sql = "some sql $json_a[report][$x][1][pa] other sql"
做
尝试回显生成的$SQL。可能会帮助您找到问题,并帮助我们了解发生了什么情况,检查错误或死亡(mysql_error());
。在数组键为字符串的位置引用数组键。“$json_a[report][$x][1][last]”应该变成“$json_a['report'][$x][1]['last']”“
例如,你能将$json转储吗?如果你的一个变量包含”
,你的查询将失败,因为没有转义。用准备好的语句切换到mysqli或PDO。为了现在进行调试,你可以尝试将mysql\u查询($sql);
更改为mysql\u查询($sql)或死亡(mysql\u error());
$sql = "some sql $json_a[report][$x][1][pa] other sql"
$sql = "some sql ".$json_a['report'][$x][1]['pa'] ." other sql";