如何格式化数据,以便它可以存储在mysql数据库
问题描述:
我想通过php脚本在mysql数据库中存储一些数据。我试图存储的数据是加密的,所以这意味着它存储了这样的事情:如何格式化数据,以便它可以存储在mysql数据库
'$ñŠN4Åßv4ñ•ÜÅصÙÜqÚö4Þ§ƒÑìèêù¬a+µºeN¶†)‰ož¥´™³¯BâPqt‡š3ÊØyGyŠí!¬‚ƒý`,È-SFn…,˜EïÕ¬_¯ ÛÆ1y©aœ«#˜¼öe÷·2,¢‹éUËx‰0ý`ΪÄÅŒ1²ljìí -{6“6{Êܤ^3ùˆ-G¹'
然而,当我试图建立我的查询,我得到连接到数据库,这些加密值的误差有时会有引号('或')和逗号意味着查询被错误解释。
有没有一种方法可以忽略此数据中的逗号和引号,以便我的查询得到正确解释,上面的一个可以存储吗?
很多谢谢。
答
你可以简单地做一个mysql转义,它转义字符串中的特殊字符以便在SQL语句中使用。
如..
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
$encrypted = mysqli_real_escape_string($con, $encryptedText);
$sql="INSERT INTO table (columnName) VALUES ($encrypted)";
mysqli_query($con,$sql);
?>
答
我在想,如果这是你的数据的外观(当我只是把明文没有加密的数据我查询的工作),你可以宣布你的表的列的数据类型是一个blob然后如果你正在使用PHP,您可以使用pdo函数在MySQL数据库中执行CRUD。我希望这有帮助。
答
使用准备好的语句是在我看来最好的一段路要走,但你应该了解逃避过,这是你应该知道的。
预处理语句很容易,基本上
SELECT something FROM somewhere WHERE this = :that
bind('that', $val)
你应该看看PDO,这将有助于https://phpdelusions.net/pdo
的基础知识有关使用SQL查询每出台有关“逃跑”解释。再看看... – arkascha
使用准备好的语句,那么数据中的引号就没有问题 –