네이티브 PHP PDO를 사용하여 레코드를 삭제하는 방법에 대해 조언해 주세요. 어디에서 오류가 발생했는지 모르겠습니다. 오랫동안 고민했습니다.
GET을 통해 데이터 일부를 삭제해야 합니다.
<a href="localhost/admin/cmd.php?act=delInfo&t=link&id=60"> 삭제</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"); } ?>
결과는 다음과 같습니다. 오류, 오류 메시지:
치명적인 오류: 잡히지 않은 오류: D:phpstudy_proWWWadmincmd.php:32의 null에서 멤버 함수 exec() 호출: 스택 추적: #0 D:phpstudy_proWWWadmincmd.php(22): delInfo() # 32행의 D:phpstudy_proWWWadmincmd.php에 1개의 { main}이 발생했습니다
志远电脑小马哥2022-05-11 20:48:01
$sql="DELETE From ".$t." where id=".$tid;
여기의 ID는 입력 오류입니다. 일반적으로 tid여야 합니다. 중단 후 SQL은 정상입니다. DELETE id=69인 링크에서 데이터베이스에 이 레코드가 있습니다.
rreee