Php 在sql中,是否有一个用GBK转换十六进制的函数?

Php 在sql中,是否有一个用GBK转换十六进制的函数?,php,mysql,sql,gbk,Php,Mysql,Sql,Gbk,我使用这个.php脚本从另一个页面接收用户名和密码: $req2 = $bdd->prepare('SELECT * FROM users WHERE login="'.$_POST['val1'].'"and password="'.$_POST['val2'].'"'); $req2 -> execute(); 我的数据库接受GBK语言,但当我输入十六进制的有效GBK符号(0xbf5c,即中文符号)时,查询不起作用(但它直接与中文符号一起工作) 那么,sql中是否有一个函数可

我使用这个.php脚本从另一个页面接收用户名和密码:

$req2 = $bdd->prepare('SELECT * FROM users WHERE login="'.$_POST['val1'].'"and password="'.$_POST['val2'].'"');

$req2 -> execute();
我的数据库接受GBK语言,但当我输入十六进制的有效GBK符号(0xbf5c,即中文符号)时,查询不起作用(但它直接与中文符号一起工作)

那么,sql中是否有一个函数可以转换GBK符号中的十六进制数


谢谢

您使用的是PDo吗?如果这样做是错误的,那么应该使用占位符,然后执行(array($var1,$var2,…)准备好的语句。也许这是你所面临的GBK逃逸问题。是的,PDO,不只是考虑在“用户”方面。你试着按照我的建议去做吗?谢谢你的回答,但实际上我不理解。在这种情况下占位符的用途是什么?它用于转义值,并避免sql注入,我想可能您的gbk字符与查询有冲突。