如何格式化数据以便将其存储在mysql数据库中

时间:2016-12-27 22:30:32

标签: php mysql

我试图通过php脚本将一些数据存储在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¹'

然而,当我尝试构造我的查询时,我收到连接到数据库的错误,因为这些加密值有时带有引号('或")和逗号,这意味着查询被错误地解释。

有没有办法可以忽略此数据中的逗号和引号,以便正确解释我的查询,从而可以存储上面的值?

非常感谢。

(当我简单地输入明文而没有加密数据时,我的查询有效)

3 个答案:

答案 0 :(得分:1)

你可以简单地执行一个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);

?>

答案 1 :(得分:0)

我在想,如果您的数据看起来如此,您可以将表格列的数据类型声明为blob,那么如果您使用的是PHP,则可以使用pdo函数在MySQL数据库中执行CRUD。我希望这会有所帮助。

答案 2 :(得分:0)

使用准备好的陈述是我认为的最佳方式,但你应该学习逃避,这是你应该知道的。

准备好的陈述很简单,基本上是

SELECT something FROM somewhere WHERE this = :that

bind('that', $val)

您应该查看PDO,这将有助于https://phpdelusions.net/pdo