【问题标题】:PHP PDO execute insert into db not working and dont know whyPHP PDO 执行插入数据库不起作用,不知道为什么
【发布时间】:2013-12-04 14:56:58
【问题描述】:
  $q = "INSERT INTO accounts (from_bank, from_user, to_user, amount, date_time, notes) VALUES (:from_bank, :from_user, :to_user, :amount, :date_time, :notes)";
    $query = $db->prepare($q);
    $result = $query->execute(array(
        ":from_bank" => $from_bank,
        ":from_user" => $from_user,
        ":to_user" => $to_user, 
        ":amount" => $amount,
        ":date_time" => $date_time,
        ":notes" => $notes
    ));

好的,这已经解决了(直到第 8 级才能回答我自己的问题,目前是第 6 级)这是一条与 $date_time = 'now()'; 无关的行,它最初缺少单引号,现在它可以正常工作,我不敢相信即使我尝试使用尝试捕获任何错误也没有任何错误任何想法为什么没有捕获到这个错误?

【问题讨论】:

  • 您是否启用了错误报告和显示?
  • 我没有显示错误并且我没有关闭它们,错误报告默认情况下是打开的,在我的 connect.php 文件中我定义了我的 db vars 并且还有这两行 $db =新 PDO('mysql:host='.$db_host.';dbname='.$db_name,$db_username,$db_pass); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

标签: php pdo insert


【解决方案1】:

在 pdo 中,您不要在参数周围加上单引号:

$q = "INSERT INTO accounts (from_bank, from_user, to_user, amount, date_time, notes) VALUES (:from_bank, :from_user, :to_user, :amount, :date_time, :notes)";

这里还有一个教程链接,您可能会觉得非常有用:

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2011-09-12
    • 1970-01-01
    • 2013-05-30
    相关资源
    最近更新 更多