注意:更新musqli中的数组到字符串的转换

时间:2019-01-12 08:51:32

标签: php mysqli phpmyadmin sql-update mysql-error-1064

我想通过php中的mysqli运行更新查询。这是我的代码:

$idget = $_GET['id'];
include_once ('config.php');
$sqlselected = "SELECT * FROM student WHERE id='$idget' ";
$resaul = mysqli_query($cont,$sqlselected);
$row = mysqli_fetch_assoc($resaul);
//var_dump($row);
if (isset($_POST['btn'])){
    $data = $_POST['frm'];
    // var_dump($data);
    //  echo $data['name'];
    $sqlupdate = "UPDATE student SET name ='$data=[name]' WHERE id=$idget ";
    mysqli_query($cont,$sqlupdate);
}

但是我在更新mysql时遇到此错误:

  

注意:更新musqli中数组到字符串的转换

我在做什么错?我该如何解决?

3 个答案:

答案 0 :(得分:0)

我不知道$data = $_POST['frm'];的值,但是我认为这是一个字符串而不是数组,在这种情况下,请使用:$sqlupdate = "UPDATE student SET name ='$data' WHERE id=$idget ";

如果$data = $_POST['frm'];的值是一个数组,请尝试以下操作:$sqlupdate = "UPDATE student SET name ='".$data['name']."' WHERE id=$idget ";

答案 1 :(得分:0)

尝试更改$sqlupdate = "UPDATE student SET name ='$data=[name]' WHERE id=$idget ";

$sqlupdate = "UPDATE student SET name ='".$data=["name"]."' WHERE id=$idget ";

我认为是因为$data=[name]中的名称索引没有引号或撇号。

答案 2 :(得分:-1)

首先 https://stackoverflow.com/a/60496/10748309

您可以尝试

"UPDATE student SET name =$data=[`name`] WHERE id=$idget";