Rumah > Soal Jawab > teks badan
Kod ralat:
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
kod 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();
}
Mesej ralat mengatakan bahawa sql saya mempunyai ralat sintaks, tetapi pernyataan sql saya boleh memasukkan data apabila mysql dilaksanakan, dan saya mempunyai kebenaran memasukkan Mengapakah terdapat ralat di sini?
曾经蜡笔没有小新2017-05-16 13:00:00
use mydb
Tambah koma bertitik selepasnya, kerana ini adalah dua ayat sql
阿神2017-05-16 13:00:00
Anda telah pun menentukan pangkalan data semasa menyambung, jadi tidak perluuse mydb
.
迷茫2017-05-16 13:00:00
Adakah kerana simbol tidak digunakan dengan baik? Cuba ini:
$sql='use mydb insert ke dalam nilai admin ("userid","password", "collection") ("John", "Doe", " jo" )';
高洛峰2017-05-16 13:00:00
gunakan mydb tidak perlu dinyatakan setiap kali, hanya nyatakan sekali, dan kemudian SQL