ネイティブ PHP PDO を使用してレコードを削除する方法を教えてください。失敗しており、どこが間違っているのかわかりません。
志远电脑小马哥
志远电脑小马哥 2022-05-11 20:38:55
0
2
933

ネイティブ 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_pro\WWW\admin の null でメンバー関数 exec() を呼び出します\cmd.php:32 スタック トレース: #0 D:\phpstudy_pro\WWW\admin\cmd.php(22): delInfo() #1 {main} が D:\phpstudy_pro\WWW\admin\cmd.php でスローされました32行目##

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

全員に返信(1)
志远电脑小马哥
 $sql="DELETE From ".$t." where id=".$tid;

ここの ID は入力エラーです。通常は tid であるはずです。問題はここではありません。中断後の SQL は正常です。 ID=69 のリンクから削除 データベースにはこのレコードがあります。

rreeee

いいねを押す +0
  • 返事 $conn を delInfo メソッドに渡しませんでしたか? exec メンバー メソッドが見つからないというエラーが表示されませんでしたか?
    ABOUT 著者 2022-05-27 09:52:06
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート