Примечание: преобразование массива в строку в обновлении musqli - PullRequest
0 голосов
/ 12 января 2019

Я хочу запустить запрос на обновление через mysqli в php. Вот мой код:

$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 голосов
/ 12 января 2019

я не знаю значения $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 ";

0 голосов
/ 12 января 2019

Попробуйте изменить $sqlupdate = "UPDATE student SET name ='$data=[name]' WHERE id=$idget ";

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

Я думаю, что из-за индекса имени в $data=[name] нет кавычек или апострофов.

0 голосов
/ 12 января 2019

сначала вообще https://stackoverflow.com/a/60496/10748309

Вы можете попробовать

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