Maison > Questions et réponses > le corps du texte
Veuillez me donner quelques conseils sur la façon de supprimer un enregistrement à l'aide de PHP PDO natif. Cela a échoué. Je ne sais pas où est l'erreur, je suis troublé depuis longtemps.
Vous devez supprimer une donnée via GET,
<a href="localhost/admin/cmd.php?act=delInfo&t=link&id=60"> Supprimer</a>
<?php //连接数据库 $servername = 'localhost'; $charset = 'utf8mb4'; $username = 'sa'; $password = '123456'; $dbname='touying'; $conn = new PDO("mysql:host=$servername;dbname=$dbname;charset=$charset", $username, $password); $act=$_GET["act"]; switch ($act) { case 'AdminLogin': AdminLogin(); break; case 'delInfo': delInfo(); break; default:; } // get请求删除信息,localhost/admin/cmd.php?act=delInfo&t=link&id=60 // 参数中的 act=操作的方法, t=link是要操作的表名link,id=60 是要操作的id. Function delInfo(){ $t=$_GET["t"]; $tid=$_GET["id"]; $sql="DELETE From ".$t." where id=".$id; $count=$conn->exec($sql); print("Deleted $count rows.\n"); } ?>
Le résultat est une erreur, message d'erreur :
Erreur fatale : Erreur non détectée : Appel à une fonction membre exec() sur null dans D:phpstudy_proWWWadmincmd.php:32 Trace de pile : #0 D:phpstudy_proWWWadmincmd.php(22) : delInfo() # 1 {main} lancé dans D:phpstudy_proWWWadmincmd.php à la ligne 32
志远电脑小马哥2022-05-11 20:48:01
$sql="DELETE From ".$t." where id=".$tid;
L'identifiant ici est une erreur de saisie. Normalement, il devrait être tid. Le problème n'est pas là. Après l'interruption, le SQL est normal. SUPPRIMER À partir du lien où id=69 La base de données contient cet enregistrement.
$count=$conn->exec($sql); //这个是出错行。