将数据插入数据库php

将数据插入数据库php,php,mysql,Php,Mysql,我正在创建一个网站,我想从表单(method=“post”)将数据插入phpmyadmin表。它不起作用。我连接到数据库,但当我在表单中键入内容时,它不会插入表中,以下是我的php部分: <?php $hostname = 'localhost'; $username = 'root'; $password = ''; try { $conn = new PDO("mysql:host=$hostname;dbname=Database", $username, $password

我正在创建一个网站,我想从表单(method=“post”)将数据插入phpmyadmin表。它不起作用。我连接到数据库,但当我在表单中键入内容时,它不会插入表中,以下是我的php部分:

<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
try {
    $conn = new PDO("mysql:host=$hostname;dbname=Database", $username, $password);
    echo 'Connected to database';
}
catch(PDOException $e)
{    
    echo $e->getMessage();
}
$nom = $_POST['nom'];
$prenom =$_POST['prenom'];
$email = $_POST['email'];
$password = $_POST['password'];
$type = $_POST['type'];
$sql = "INSERT INTO client (nom, prenom, email,password,type)
                    VALUES ($nom, $prenom, $email, $password , $type)"; 
}
$conn->connection = null;
?>

我不想评论太多,还有很多学习和经验 练习你需要做的事情。请慢慢看 这篇博客,从中阅读和练习,不要着急,慢慢来

您的代码应该与下面的代码类似:

<?php
$hostname = 'localhost';
$username = 'root';
$password = '';
try {
    $conn = new PDO("mysql:host=$hostname;dbname=Database", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

}
catch (PDOException $e) {

    echo $e->getMessage();

}


$nom      = $_POST['nom'];
$prenom   = $_POST['prenom'];
$email    = $_POST['email'];
$password = $_POST['password'];
$type     = $_POST['type'];


try {

    $sql = "INSERT INTO client (nom, prenom, email,password,type)   VALUES (?,?,?,?,?)";

    $stmt = $conn->prepare($sql);
    if ($stmt->execute(array(
        $nom,
        $prenom,
        $email,
        $password,
        $type
    ))) {

        echo "Data inserted";
    } else {

        echo "could not insert";
    }

}
catch (Exception $ex) {

    error_log($ex->getMessage());

}


?>


您的值缺少引号,但最好使用预先准备好的语句。此外,您没有运行该查询。您从哪里了解到这一点的?如果不使用prepared语句,那么就没有必要使用PDO。因此,用文本文字编写查询不会将其传递给数据库执行。一些合理的代码缩进允许您和我们实际阅读代码。请参阅不必要的
}
symbolsOh和
phpMyAdmin
是用PHP编写的工具
MYSQL
是一个数据库管理系统!T你写的我很忙,会修好的谢谢