在 ajax 中发送一个数据不起作用

Send one data in ajax don't work

我正在尝试将一个数据发送到数据库,我正在使用与其他人相同的结构,而其他人工作正常。

表格

<form action="" method="post" class="col-md-12">
  <select id="formu" name="cars" multiple " class="col-md-12">
    <option selected="selected">Multiple</option>
    <option>Multiple2</option>
    <option selected="selected">Multiple3</option>
  </select>
  <input id="send" class="col-md-12" type="submit" value="submit">
</form>

ajax

function showValues() {
  var str = $( "form" ).serialize();
  alert(str)
  debugger;
  $.ajax({  
    url: "recog_use.php",
    data: {
    'cars': str
    },
    type: 'GET'          
  });
} $( "form" ).on( "submit", showValues );

recog_use.php

include "conexion_leer.php";

$v='amigos';
$sql = "INSERT INTO `{$v}` (nombre)
VALUES ({$_GET['cars']}')";

if (mysqli_query($conn, $sql)) {
 header('Location:../../Usuarios/mapa.html'); 
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
 mysqli_close($conn);

文件conexion_leer.php与数据库

有联系

谢谢你

试试这个

function showValues() {
     var form_data = $( "form" ).serialize();
     $.ajax({  
          url: "recog_use.php",
          data: form_data,
          type: 'GET'          
     });
} 
$( "form" ).on( "submit", showValues );

在PHP边

include "conexion_leer.php";
$v='amigos';
$sql = "INSERT INTO `".$v."` (nombre) VALUES ('".$_GET['cars']."')";

问题出在这一行

$sql = "INSERT INTO `{$v}` (nombre) VALUES ({$_GET['cars']}')";
                                             Why This Extra^ 

使用mysqli_prepare.

recog_use.php

<?php
include "conexion_leer.php";

$v='amigos';

$stmt = mysqli_prepare($conn, "INSERT INTO `{$v}`(nombre) VALUES (?)");
mysqli_stmt_bind_param($stmt, 's', $_GET['cars']);

if (mysqli_stmt_execute($stmt)) {
 header('Location:../../Usuarios/mapa.html'); 
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);

?>