2016-03-01 152 views
1

我目前在学习PHP,并使用下面的查询将值插入到我的MySQL表中。
我想检查值是否正确插入。我曾尝试编写过一个IF语句,并通过大量例子进行了搜索,其中没有一个看起来可行。检查SQL INSERT是否成功

我将不胜感激任何帮助将我转向正确的方向。

$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

+0

Pdo rowcount是一种简单的方法。增加插入循环并检查表中最后的行数。 – cpugourou

+0

尝试'mysql_affected_rows()'http://php.net/manual/tr/function.mysql-affected-rows.php –

+0

@mdemir OP使用'mysqli_'而不是'mysql_'。另外,如果您要参考PHP.net,请使用基于英文的。你的意思是http://php.net/manual/en/mysqli.affected-rows.php –

回答

0
if (!$dd_tracking_conn->query("INSERT...")){ 
    //echo "error: values where not inserted correctly."; 
    printf("Error: %s\n", $dd_tracking_conn->error); 
}else { 
    echo "inserted"; 
} 
3
  • 发布这是一个社区的wiki。

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

Returns the number of rows affected by the last INSERT, UPDATE, REPLACE or DELETE query.

面向对象的风格

int $mysqli->affected_rows;

程序风格

int mysqli_affected_rows (mysqli $link)

并检查针对您的查询和PHP错误。

参考:如果用户的互动参与


你现在的代码是开放的SQL injection。使用mysqli with prepared statementsPDO with prepared statements