#php #mysql #pdo
Вопрос:
Ошибка: неустранимая ошибка: Неперехваченное исключение pdoexception: кодом sqlstate[42000]: синтаксическая ошибка или нарушение прав доступа: 1064 у вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует вашей версии сервера MariaDB в для правильного синтаксиса, чтобы использовать вблизи «, ‘0.02’ , ‘MINTME’, ‘0x9cDc95C267BFa706aBF7f5c9C7340323d605bfa4’, ‘2021-09-…’ в строке 1 C:xampphtdocspayoutRequest.php:53 трассировки стека: #0 C:xampphtdocspayoutRequest.php(53): метода pdostatement->выполнить(массив) #1 {главный} брошенный в C:xampphtdocspayoutRequest.php на линии 53
$sql = "INSERT INTO transactions (transaction_id, user_id, amount, type, wallet_address, date, av_hashes, av_amount) VALUES('$generatePayoutID',$transaction_userid', '$inputAmounts' , '$inputCurrency', '$inputWallet', '$YMD', '$av_hashes', '$av_amount')";
$statement = $conn->prepare($sql);
$statement->execute([
':transaction_id' => $generatePayoutID,
':user_id' => $transaction_userid,
':amount' => $inputAmounts,
':type' => $inputCurrency,
':wallet_address' => $inputWallet,
':date' => $YMD,
':av_hashes' => $av_hashes,
':av_amount' => $av_amount
]);
$sName = "localhost";
$uName = "root";
$pass = "";
$db_name = "prunity_db";
try {
$conn = new PDO("mysql:host=$sName;dbname=$db_name",
$uName, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
}
Ответ №1:
Я наконец-то решил эту проблему!
Решение:
$insert_transaction = "INSERT INTO transactions(transaction_id, user_id, amount, type, wallet_address, date, av_hashes, av_amount)
VALUES(:transaction_id,:user_id,:amount,:type,:wallet_address,:date,:av_hashes,:av_amount)";
$statement = $conn->prepare($insert_transaction);
$statement->execute([
':transaction_id' => $generatePayoutID,
':user_id' => $transaction_userid,
':amount' => $inputAmounts,
':type' => $inputCurrency,
':wallet_address' => $inputWallet,
':date' => $YMD,
':av_hashes' => $av_hashes,
':av_amount' => $av_amount
]);
Комментарии:
1. Не могли бы вы, пожалуйста, объяснить, почему этот ответ является решением?
2. Похоже, что токены в операторе VALUES() были изменены с
$blah
на:blah