찾다

 >  Q&A  >  본문

기본 PHP PDO를 사용하여 레코드를 삭제하는 방법을 알려주세요. 실패했고 어디에서 실수가 발생했는지 모르겠습니다.

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

志远电脑小马哥志远电脑小马哥959일 전938

모든 응답(2)나는 대답할 것이다

  • 志远电脑小马哥

    志远电脑小马哥2022-05-11 20:48:01

     $sql="DELETE From ".$t." where id=".$tid;

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

    rreee

    회신하다
    0
  • ABOUT

    delInfo 메소드에 $conn을 전달하지 않았나요? exec 멤버 메소드를 찾을 수 없다는 오류가 표시되지 않았나요?

    ABOUT · 2022-05-27 09:52:06
  • 취소회신하다