【问题标题】:Check if SQL INSERT was successful检查 SQL INSERT 是否成功
【发布时间】:2016-03-01 23:45:50
【问题描述】:

我目前正在学习 PHP 并正在使用下面的查询将值插入到我的 MySQL 表中。
我想检查这些值是否正确插入。我尝试编写 IF 语句并搜索了许多示例,但似乎没有一个有效。

如果能帮助我朝着正确的方向前进,我将不胜感激。

$dd_tracking_insert = $dd_tracking_conn->query("INSERT INTO $dd_tracking_table_name (invoice_id, user_id, gc_bill_id, gc_bill_amount, gc_bill_fees, gc_bill_status, gc_bill_created) VALUES ('$invoice_id', '$user_id', '$gc_transaction_id', '$invoice_amount', '$gc_fees', '$gc_status', now())");

如果插入正确 - echo "inserted".
如果错误:未插入 -echo "error: values where not inserted correctly."

链接到完整代码here

【问题讨论】:

标签: php mysql


【解决方案1】:

要检查您的 INSERT 是否成功,您可以使用mysqli_affected_rows()

返回受最后一个 INSERT、UPDATE、REPLACE 或 DELETE 查询影响的行数。

面向对象的风格

int $mysqli->affected_rows;

程序风格

int mysqli_affected_rows (mysqli $link)

并根据您的查询和 PHP 检查错误。

参考资料:


如果涉及用户交互,您当前的代码对SQL injection 开放。

使用mysqli with prepared statements,或PDO with prepared statements

【讨论】:

    【解决方案2】:
    if (!$dd_tracking_conn->query("INSERT...")){
        //echo "error: values where not inserted correctly.";
        printf("Error: %s\n", $dd_tracking_conn->error);
    }else {
        echo "inserted";
    }
    

    【讨论】:

      猜你喜欢
      • 2014-02-27
      • 2011-02-21
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多