Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mycrypt后SQL查询不起作用_Php - Fatal编程技术网

Php 使用mycrypt后SQL查询不起作用

Php 使用mycrypt后SQL查询不起作用,php,Php,我对PHP非常陌生,我正试图使用这段代码为数据库添加一个值。我试着回显所有的标签,所有的东西都工作了,只是它没有显示在我的数据库中。在我添加加密部分之前,所有这些都可以正常工作。我已经发现,如果我使用MCRYPT\u RAND而不是MCRYPT\u DEV\u uradom它似乎工作得更好。有些东西告诉我这可能只是一个我找不到的简单错误。任何关于如何找到这个错误或答案的提示都将不胜感激 <?php $account = "$_REQUEST[Account]"; $password

我对PHP非常陌生,我正试图使用这段代码为数据库添加一个值。我试着回显所有的标签,所有的东西都工作了,只是它没有显示在我的数据库中。在我添加加密部分之前,所有这些都可以正常工作。我已经发现,如果我使用
MCRYPT\u RAND
而不是
MCRYPT\u DEV\u uradom
它似乎工作得更好。有些东西告诉我这可能只是一个我找不到的简单错误。任何关于如何找到这个错误或答案的提示都将不胜感激

<?php   
$account = "$_REQUEST[Account]";
$password = "$_REQUEST[Password]";
$pin = "$_REQUEST[Pin]";
$date = "$_REQUEST[Date]";
$username1 = "$_REQUEST[Username]";
$store1 = "$_REQUEST[Store]";
$category1 = "$_REQUEST[Category]";
$amount1 = "$_REQUEST[Amount]";
$bankaccount1 = "$_REQUEST[BankAccount]";
$notes1 = "$_REQUEST[Notes]";
$millisecond = "$_REQUEST[MilliSecond]";

    $sqlaccounts = mysql_connect("localhost", "root", "")
        or die (mysql_error());

    mysql_select_db("bumblebeesaccounts", $sqlaccounts);

    $sql = "SELECT * FROM `users` WHERE `account` = '$account'";

    $result = mysql_query($sql, $sqlaccounts);

    $verify_account = mysql_fetch_assoc($result);

    $key = $verify_account['salt'];


    $username = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $username1, MCRYPT_MODE_ECB);
    $store = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $store1, MCRYPT_MODE_ECB);
    $category = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $category1, MCRYPT_MODE_ECB);
    $amount = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $amount1, MCRYPT_MODE_ECB);
    $bankaccount = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $bankaccount1, MCRYPT_MODE_ECB);
    $notes = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $notes1, MCRYPT_MODE_ECB);



$sqlconnect = mysql_connect("localhost", "root", "")
    or die (mysql_error());

mysql_select_db("bumblebeesbudgetapp", $sqlconnect);

$sqlinsert = "INSERT INTO `bob` (`id`, `date`, `username`, `store`, `category`, `amount`, `bank account`, `notes`, `millisecond`, `receiptpicture`) 
    VALUES (NULL, '$date', '$username', '$store', '$category', '$amount', '$bankaccount', '$notes', '$millisecond', '')";

 mysql_query($sqlinsert, $sqlconnect);

echo $username;
echo mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $username, MCRYPT_MODE_ECB);

?>
阵列访问
要从关联数组(如
$\u REQUEST
中获取值,您应该从

...
$account = "$_ REQUEST[account]";
...

...
$account = $_REQUEST["account"];
...
插入语句 我认为列id是主键,不是吗?所以它不能为空。如果是自动增量列,则可以保留以下值:

$sqlinsert = "INSERT INTO `bob` (`date`, `username`, `store`, `category`, `amount`, `bank account`, `notes`, `millisecond`, `receiptpicture`) 
VALUES ('$date', '$username', '$store', '$category', '$amount', '$bankaccount', '$notes', '$millisecond', '')";

我现在开始了。我所做的最大的改变是我对所有mcyrpt数据进行了base64加密

$username = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $username1, MCRYPT_MODE_ECB));
$store = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $store1, MCRYPT_MODE_ECB));
$category = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $category1, MCRYPT_MODE_ECB));
$amount = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $amount1, MCRYPT_MODE_ECB));
$bankaccount = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $bankaccount1, MCRYPT_MODE_ECB));
$notes = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $notes1, MCRYPT_MODE_ECB));

请参阅此
“$\u请求[帐户]”等等。?你所有的报价都是相反的。错误………报告。@Fred ii-你能说得更具体一点,比如你所说的反转吗?所以有些东西似乎不适合我。我回显了$sqlinsert并手动将其插入phpmyadmin中的sql选项卡下,得到了一个巨大的错误。是否由于特殊字符,此加密ins不支持与sql查询一起插入?能否发布从phpmyadmin获得的错误代码?