기본 PHP PDO를 사용하여 레코드를 삭제하는 방법을 알려주세요. 실패했고 어디에서 실수가 발생했는지 모르겠습니다.
志远电脑小马哥
志远电脑小马哥 2022-05-11 20:38:55
0
2
950

네이티브 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}이 발생했습니다

志远电脑小马哥
志远电脑小马哥

모든 응답(1)
志远电脑小马哥
 $sql="DELETE From ".$t." where id=".$tid;

여기의 ID는 입력 오류입니다. 일반적으로 tid여야 합니다. 중단 후 SQL은 정상입니다. DELETE id=69인 링크에서 데이터베이스에 이 레코드가 있습니다.

rreee

  • 회신하다 delInfo 메소드에 $conn을 전달하지 않았나요? exec 멤버 메소드를 찾을 수 없다는 오류가 표시되지 않았나요?
    ABOUT 작가 2022-05-27 09:52:06
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿