热搜:NVER node 开发 php

在网页上删除数据库数据

2024-08-14 15:50:02
在网页上删除数据库数据

<?php
    //$id = $_POST['id'];//获取要删除的ID
$id = isset($_GET['id']) ? $_GET['id'] : '';
    //把你的链接数据库代码写这里
echo $id;
$serverName = "192.168.1.100,35890"; 
    $database = "ee";
    $uid = "sa";
    $pwd = "123";

    try {
       $conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd); 
    }
 
    catch( PDOException $e ) {
       die( "Error connecting to SQL Server".$e ); 
}
$conn->exec("delete from 员工档案表 where _Identify = '$id'");
?>
如代码所示,id的值是从另一PHP文件取得,测试取值成功。
但$conn->exec("delete from 员工档案表 where _Identify = '$id'");没却有执行,请问是为什么呢?
是因为用$conn->exec方法不正确吗?请大神们予以指教。多谢!


回复讨论(解决方案)

请大家帮我看下上面的问题吧,作为菜鸟,知识储量远远未够啊,先谢过了!

$conn->exec("delete from 员工档案表 where _Identify = '$id'");

把$id  单引号去掉 

$conn->exec("delete from 员工档案表 where _Identify = '$id'");

把$id  单引号去掉 



多谢回帖!不过这个方法我也试过了,也是执行不成功

中文表名?
"delete from [员工档案表] where _Identify = '$id'"
要注意字符集!

print_r($conn->errorInfo());
看看结果

中文表名?
"delete from [员工档案表] where _Identify = '$id'"
要注意字符集!

print_r($conn->errorInfo());
看看结果


太感谢了,报的错误信息为:Array ( [0] => IMSSP [1] => -47 [2] => An error occurred translating the query string to UTF-16: 在多字节的目标代码页中,没有此 Unicode 字符可以映射到的字符。 . ) 
原来我没有修改该文件的编码格式,改成UTF-8就可以了。
顺便问一下,如果表名和字段名都是英文字母的话,是不是不用改编码格式就能正常运行呢?

是中文就可能用编码问题
表名和字段名 不建议使用中文

是中文就可能用编码问题
表名和字段名 不建议使用中文



特别感谢!!