3

I am currently learning PHP and am using the query below to insert values into my MySQL table.
I would like to check whether or not the values were inserted correctly. I have tried writing an IF statement and have searched through numerous examples, none of which seem to be working.

I would appreciate any help in steering me in the right direction.

$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())");

IF inserted correctly - echo "inserted".
If Error: was not inserted -echo "error: values where not inserted correctly."

Link to full code here

Rao
  • 19,956
  • 10
  • 54
  • 72
Touff
  • 205
  • 1
  • 3
  • 7

2 Answers2

3

To check if your INSERT was successful, you can use mysqli_affected_rows().

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

Object oriented style

int $mysqli->affected_rows;

Procedural style

int mysqli_affected_rows ( mysqli $link )

And check for errors against your query and for PHP.

References:


Your present code is open to SQL injection if user interaction is involved.

Use mysqli with prepared statements, or PDO with prepared statements.

zcoop98
  • 2,322
  • 1
  • 16
  • 27
Funk Forty Niner
  • 74,372
  • 15
  • 66
  • 132
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";
}
urfusion
  • 5,294
  • 5
  • 45
  • 82
Gavin
  • 2,078
  • 1
  • 15
  • 18