Maison > Questions et réponses > le corps du texte
Code d'erreur :
SQLSTATE[42000]: Syntax error or access violation: 1064 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 'insert into admin (userid,password,collection) values ('John', 'Doe', 'jo')' at line 1
code pdo :
$servername="localhost";
$user="root";
$psw="444444";
try{
$con=new PDO("mysql:host=$servername;dbname:mydb",$user,$psw);
$con->query("set names utf8");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if($con){
$sql="use mydb insert into admin (userid,password,collection) values ('John', 'Doe', 'jo')";
$con->exec($sql);
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
Le message d'erreur indique que mon SQL a une erreur de syntaxe, mais mon instruction SQL peut insérer des données lorsque MySQL est exécuté et j'ai l'autorisation d'insertion. Pourquoi y a-t-il une erreur ici ?
曾经蜡笔没有小新2017-05-16 13:00:00
use mydb
Ajoutez un point-virgule après, car ce sont deux phrases de SQL
阿神2017-05-16 13:00:00
Vous avez déjà précisé la base de données lors de la connexion, ce n'est donc pas nécessaireuse mydb
.
迷茫2017-05-16 13:00:00
Est-ce parce que les symboles ne sont pas bien utilisés ? Essayez ceci :
$sql='use mydb insert into admin ("userid","password","collection") valeurs ("John", "Doe", " jo" )';
高洛峰2017-05-16 13:00:00
use mydb n'a pas besoin d'être spécifié à chaque fois, il suffit de le spécifier une fois, puis SQL