if ($opt_selected=="y")
{
# code...
$errorMessage = "";
$phone = $_POST['phone'];
$myString = $phone;
$myArray = explode(',', $myString);
print_r($myArray);
if ($errorMessage != "" )
{
echo "<p class='message'>" .$errorMessage. "</p>" ;
}
else
{
$max_id=mysqli_query($db,"select max(id) from batch");
$row = mysqli_fetch_array($max_id);
//error is for below line :Unsupported operand types
$row=$row+1;
$res=mysqli_query($db,"INSERT INTO batch(`id`,`phone`) VALUES (row,'$myArrays')");
$delete = mysqli_query($db,'insert into to_numbers_hist select * from to_numbers');
$delete = mysqli_query($db,'delete from to_numbers');
foreach ($myArrays as $myArray) {
$ins="INSERT INTO `codexworld`.`to_numbers`(`batch_id`,`phone`)
VALUES ('$id','$phone')";
$test=mysqli_query($db,$ins) or die(mysqli_error($db));
if($test)
echo "<script type='text/javascript'>alert('submitted successfully!')</script>";
else
echo "<script type='text/javascript'>alert('failed!')</script>";
}
/
}
这里给出的错误是这样的 不支持的操作数类型
所以我不知道该怎么做,请让我纠正我错在哪里
并且for-each循环正确无
这里我在逗号分隔的文本框中输入数字,通过拆分这些逗号并存储到带有生成ID的数据库,我们在另一个表中引用此ID 所以我需要做些什么来克服这个问题,
//错误用于以下行:不支持的操作数类型
$行= $行+ 1;
此行给出错误
答案 0 :(得分:0)
当您使用以下命令从MySQL返回数据时,您的$row
变量包含一个数组:
$row = mysqli_fetch_array($max_id);
+1根本不适用于数组。而是创建一个像$rc=0;
这样的变量(用于行计数)并在循环中递增它。
这样做也没有意义:
$res=mysqli_query($db,"INSERT INTO batch(`id`,`phone`) VALUES (row,'$myArrays')");
您的row
最有可能被称为$row
,但您会尝试将数组保存到数字列中,同样适用于$myArrays
变量。
我建议您首先熟悉MySQL queries并在继续项目之前更加关注良好的代码质量。
答案 1 :(得分:0)
$ row 是一个结果集。您不能对结果集执行$ row +1操作
if ($row) {
while($data = mysql_fetch_array($data)) {
$value=$data[max(id)];
$value=$value+1;
}
}
else {
echo mysql_error();
}
使用已审核的数据 $ value 进行操作
也改变以下内容。你错过了 $ 签名
$res=mysqli_query($db,"INSERT INTO batch(`id`,`phone`) VALUES ($row,'$myArrays')");
我也怀疑这行代码是什么意思
$delete = mysqli_query($db,'insert into to_numbers_hist select * from to_numbers');