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?
use mydb
Tambah koma bertitik selepasnya, kerana ini adalah dua ayat sqlAnda telah pun menentukan pangkalan data semasa menyambung, jadi tidak perlu
use mydb
.Adakah kerana simbol tidak digunakan dengan baik? Cuba ini:
$sql='use mydb insert ke dalam nilai admin ("userid","password", "collection") ("John", "Doe", " jo" )';
gunakan mydb tidak perlu dinyatakan setiap kali, hanya nyatakan sekali, dan kemudian SQL