只是想知道为什么这是不工作,我想从提交表单插入数据到数据库


Just wondering why this isn't working, I want to insert data from submit form to database

我正在尝试从我的提交表单发送数据到数据库,我使用phpliteadmin作为我的数据库管理器。

这是我的php
<?php
if (isset($_POST['submitted'])) {
    include('connect-phpliteadmin.php');
$make = $_POST['Make'];
$model = $_POST['Model'];
$badge = $_POST['Badge'];
$price = $_POST['Price'];
$trans = $_POST['Transmission'];
$ppl = $_POST['P_Plate_Legal'];
$sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make, $model, $badge, $price, $trans, $ppl'");
    if (!mysqli_query($dbcon, $sqlinsert)) {
        die("Error inserting new vehicle");
    }
    $newrecord = "New record added to the database";
}
echo "Make: " . $_POST['Make'] . "<br>";
echo "Model: " . $_POST['Model'] . "<br>";
echo "Badge: " . $_POST['Badge'] . "<br>";
echo "Price: " . $_POST['Price'] . "<br>";
echo "Transmission: " . $_POST['Transmission'] . "<br>";
echo "P Plate Legal: " . $_POST['P_Plate_Legal'] . "<br>";


try {
  # Connect to SQLite database
  $dbh = new PDO("sqlite:Car_Sales_Network");

  # Prepare SQL statemen
  #$sth = $dbh->prepare("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make, $model, $badge, $price, $trans, $ppl'");
  # Run the query on the database
  $sth->execute(array($make, $model));

?>

我不知道为什么这不起作用,我跟随了一个YouTube视频,它不起作用。

欢呼。

据我所知,你的SQL语句似乎不正确。

查询

$sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make, $model, $badge, $price, $trans, $ppl'");
新查询

,

$sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make', '$model', '$badge', '$price', '$trans', '$ppl'");

据我所知,你不能有' '所有的VALUES

应该是这样的:

来自:

$sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make, $model, $badge, $price, $trans,$ppl'");`

:

 $sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make', '$model', '$badge', '$price', '$trans','$ppl'");

<?php
if (isset($_POST['submitted'])) {
 include('connect-phpliteadmin.php');
 $make = $_POST['Make'];
 $model = $_POST['Model'];
 $badge = $_POST['Badge'];
 $price = $_POST['Price'];
 $trans = $_POST['Transmission'];
 $ppl = $_POST['P_Plate_Legal'];
$sqlinsert("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make', '$model', '$badge', '$price', '$trans','$ppl'");
  if (!mysqli_query($dbcon, $sqlinsert)) {
    die("Error inserting new vehicle");
  }
$newrecord = "New record added to the database";
}
echo "Make: " . $_POST['Make'] . "<br>";
echo "Model: " . $_POST['Model'] . "<br>";
echo "Badge: " . $_POST['Badge'] . "<br>";
echo "Price: " . $_POST['Price'] . "<br>";
echo "Transmission: " . $_POST['Transmission'] . "<br>";
echo "P Plate Legal: " . $_POST['P_Plate_Legal'] . "<br>";


try {
  # Connect to SQLite database
  $dbh = new PDO("sqlite:Car_Sales_Network");

  # Prepare SQL statemen
  #$sth = $dbh->prepare("INSERT INTO Cars_On_Network (Make, Model,  Badge, Price, Transmission, P_Plate_Legal) VALUES ('$make', '$model' , '$badge', '$price', '$trans', '$ppl'");
  # Run the query on the database
  $sth->execute(array($make, $model));

?>

在您的INSERT查询中,您错过了所有variables'',并且在结束时错过了)的右括号

这是你的查询

$sqlinsert("INSERT INTO Cars_On_Network
(Make, Model,  Badge, Price, Transmission, P_Plate_Legal)
 VALUES 
('$make, $model, $badge, $price, $trans, $ppl'");

应该是

$sqlinsert("INSERT INTO Cars_On_Network 
(Make, Model,  Badge, Price, Transmission, P_Plate_Legal)
 VALUES
('$make', '$model', '$badge', '$price', '$trans', '$ppl')");

谢谢大家,为了将来参考,我把它改成了:)

<?php
try {
    # Connect to SQLite database
    $dbh = new PDO("sqlite:../Car_Sales_Network");
    $make = $_POST['Make'];
    $model = $_POST['Model'];
    $badge = $_POST['Badge'];
    $price = $_POST['Price'];
    $trans = $_POST['Transmission'];
    $ppl = $_POST['P_Plate_Legal'];
    print_r($_POST);
    $sth = $dbh->prepare('INSERT INTO Cars_On_Network
                         ("car_make","car_model","car_badge","price","trans","P_Plate_Legal")
                         VALUES
                         (?, ?, ?, ?, ?, ?)');
    $sth->execute(array($make, $model, $badge, $price, $trans, $ppl));
    header("Location: ../Carsales_Network.php");

}

catch(PDOException $e) {
    echo $e->getMessage();
}

?>