gpt4 book ai didi

php - 无法通过 PDO 插入 mysql

转载 作者:行者123 更新时间:2023-11-29 03:00:34 25 4
gpt4 key购买 nike

在过去大约一天时间里,我一直在苦苦思索这个 PHP 插入代码。我似乎找不到问题,并且在 2 次完整重做代码后问题仍然存在。问题很简单,它不会插入任何东西,我已经通过简单地直接输入变量的值而不是使用 GET 通过 JS 从 HTML 中获取它们来减少可能性。也许这里有人可以发现发生了什么。不过,我知道 PDO 确实有效,因为我能够从 mysql 表中获取信息。

<?php

$tbl = 'transactions';
$acc = 'blah1';
$date = '2014-07-01';
$cp = 'counterparty';
$ctg = 'category';
$dbt = 1.00;
$crd = 0.00;

$user = "root";
$pass = #######; // Note: the password is actually in the file on my side.

try {
$con = new PDO("mysql:host=localhost;dbname=budget;charset=utf8",$user,$pass);
$con -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

$sql = $con -> prepare("INSERT INTO transactions VALUES (:account, :date, :counterparty, :category, :debit, :credit)");

$sql -> bindValue(':account', $acc, PDO::PARAM_STR);
$sql -> bindValue(':date', $date, PDO::PARAM_STR);
$sql -> bindValue(':counterparty', $cp, PDO::PARAM_STR);
$sql -> bindValue(':category', $ctg, PDO::PARAM_STR);
$sql -> bindValue(':debit', strval($dbt), PDO::PARAM_STR);
$sql -> bindValue(':credit', strval($crd), PDO::PARAM_STR);

$sql -> execute();

$dbh = NULL;
?>

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

我在我的帖子的评论中回答了这个问题,但我会把它作为一个答案张贴出来,这样它就更容易被看到了:

Well the code works now, I added this to the JS: xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) {}} in an attempt to see what was going on with the try-catch blocks, and suddenly the code started to work. I'm not sure I understand why this suddenly fixed the problem? Could someone care to explain.

关于php - 无法通过 PDO 插入 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24372398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com