我的代码存在问题。 我想在我的数据库中插入PHP变量($ variable)。
但我有这个错误:
Erreur SQL !
INSERT INTO info(nom, prenom, entreprise, email, objet, message) VALUES(test,toto,overflow,toto@hotmail.fr,Autre,TEST)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@hotmail.fr,Autre,TEST)' at line 1
我的代码:
<?php
// Connection to MySQL
$db = mysqli_connect('****', '***', '','****') or die("Erreur de connexion au serveur !!!");
// Create request
$sql = "INSERT INTO info(nom, prenom, entreprise, email, objet, message) VALUES($nom,$prenom,$entreprise,$email,$objet,$message)";
// Send request to DB
$req = mysqli_query($db,$sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_error($db));
// Close connection
$deconnexion = mysqli_close(mysqli_connect('localhost', 'root', '','contact'));
?>
我想使用mysqli来执行此插入。
我的INSERT INTO有什么问题?
答案 0 :(得分:2)
$sql = "INSERT INTO info (nom, prenom, entreprise, email, objet, message) VALUES ('$nom','$prenom','$entreprise','$email','$objet','$message')";
需要引用字符串值。
以下更好的替代方法。
$sql = "INSERT INTO info (nom, prenom, entreprise, email, objet, message) VALUES (?, ?, ?, ?, ?, ?)";
$sql->bindParam('ssssss', $nom, $prenom, $entreprise, $email, $objet, $message);
$sql->execute();
来自php手册的
答案 1 :(得分:0)
试试此代码
<?php
// Connection to MySQL
$db = mysqli_connect('****', '***', '','****') or die("Erreur de connexion au serveur !!!");
// Create request
$sql = "INSERT INTO info(nom, prenom, entreprise, email, objet, message) VALUES('$nom','$prenom','$entreprise','$email','$objet','$message')";
// Send request to DB
$req = mysqli_query($db,$sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_error($db));
// Close connection
$deconnexion = mysqli_close(mysqli_connect('localhost', 'root', '','contact'));
?>