如何将此PHP MYSQL函数转换为Python

如何将此PHP MYSQL函数转换为Python,python,php,mysql,Python,Php,Mysql,我需要在Python中复制下面的函数。我包括了正在工作的PHP代码,需要Python方面的帮助,因为我现在完全迷路了 读取RFID卡并通过串行总线将标签传输到Python。这部分代码是有效的。我遇到的问题是插入这个信息字符串作为mySQL中要查找的信息字符串 <?php require 'database.php'; $UIDresult=$_POST["UIDresult"]; $Wri

我需要在Python中复制下面的函数。我包括了正在工作的PHP代码,需要Python方面的帮助,因为我现在完全迷路了

读取RFID卡并通过串行总线将标签传输到Python。这部分代码是有效的。我遇到的问题是插入这个信息字符串作为mySQL中要查找的信息字符串

<?php
            require 'database.php';
    
            $UIDresult=$_POST["UIDresult"];
            $Write="<?php $" . "UIDresult='" . $UIDresult . "'; " . "echo $" . "UIDresult;" . "?>"; 
            file_put_contents('UIDContainer.php',$Write);
    
        $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "SELECT * FROM table_mkaccess  where id = ?";
            $q = $pdo->prepare($sql);
            $q->execute(array($UIDresult));
            $data = $q->fetch(PDO::FETCH_ASSOC);
            Database::disconnect();
            $msg = null;
            if (null==$data['name']) {
                    $msg = "0";
                    $data['id']=$UIDresult;
            } else {
                    $msg = "1";
            }
            echo $msg;
            
    
    
    ?>
更新: 现在接收到以下错误

回溯(最近一次调用):文件“/home/base/testing3.py”, 第17行,在 执行(sql,(UIDresult,))

mysql.connector.errors.ProgrammingError:1064(42000):您有一个 SQL语法错误;检查与您的产品相对应的手册 “47D0D393”附近要使用的正确语法的MySQL服务器版本\r\n“ 在1号线


您必须将UID添加到查询polachlder

mycursor = mydb.cursor(buffered=True)
sql = "SELECT * FROM table_mkaccess WHERE id = %s"
mycursor.execute(sql,(UID,))
data = mycursor.fetchall()

您必须将UID添加到查询polachlder

mycursor = mydb.cursor(buffered=True)
sql = "SELECT * FROM table_mkaccess WHERE id = %s"
mycursor.execute(sql,(UID,))
data = mycursor.fetchall()
一些变化:

  • UID=UID.rstrip()
    以消除尾随空格(回车符和换行符,除非您确实希望这些字符存储在数据库中)
  • sql=“SELECT*FROM table_mkaccess WHERE id=%s”
    (对于准备好的语句,您不希望在
    %s
    占位符周围加引号。如果提供的实际值是字符串,sql驱动程序将使用该值执行“正确的操作”。)
  • mycursor.execute(sql,(UID,)
    (使用正确的变量)
  • 一些变化:

  • UID=UID.rstrip()
    以消除尾随空格(回车符和换行符,除非您确实希望这些字符存储在数据库中)
  • sql=“SELECT*FROM table_mkaccess WHERE id=%s”
    (对于准备好的语句,您不希望在
    %s
    占位符周围加引号。如果提供的实际值是字符串,sql驱动程序将使用该值执行“正确的操作”。)
  • mycursor.execute(sql,(UID,)
    (使用正确的变量)

  • 谢谢,这很有效,让我更进一步,但现在我得到了一个不同的错误。UIDresult没有定义谢谢,这很有效,让我更进一步,但现在我得到了一个不同的错误。UIDresult没有定义