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;
此行给出错误
$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');
当您使用以下命令从 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 查询,并在继续项目之前更加关注良好的代码质量。